本文實例講述了php頁面函數設置超時限制的方法。分享給大家供大家參考。具體方法如下:
碰到頁面程序執行超時時會提醒Fatal error: Maximum execution time of 300 seconds exceeded 是因為程序執行時間超過了最大允許執行時間,解決辦法我們總結了幾個供大家選擇.
對於函數我們可以常用下面方法,直接給函數設置超時時間來操作,代碼如下:
復制代碼 代碼如下:declare(ticks = 1);
function a(){
sleep(10);
echo "a finishi ";
}
function b(){
echo "Stop ";
}
function c(){
usleep(100000);
}
function sig(){
throw new Exception;
}
try{
pcntl_alarm(1);
pcntl_signal(SIGALRM, "sig");
a();
pcntl_alarm(0);
}catch(Exception $e){
echo "timeout ";
}
b();
a();
b();
對於文件或程序代碼可使用set_time_limit只是設置你的PHP程序的超時時間.
解決方法:
1.修改php.ini文件,代碼如下:
復制代碼 代碼如下:max_execution_time = 30; // Maximum execution time of each script, in seconds 原值30秒,你可以改大點.
改完後記得重啟php,該方法改了後對所有程序生效.
2.修改你的程序,在你需要耗時超過默認值(30秒)的腳本中,加入代碼:
復制代碼 代碼如下:set_time_limit(300); // 最大執行時間這裡設置300秒
設置成0表示不限時。
希望本文所述對大家的PHP程序設計有所幫助。