PHP超時

由於近日做的程序中涉及到的循環比較多且處理的情況較複雜,所以在運行程序時出現執行超時提示如下:
Fatal error: Maximum execution time of 30 seconds exceeded in D:\php\AppServ\www\sum3\test.php on line 3

通過在網上搜索,找到以下解決方案給大家分享一下:

這個錯誤是說你的php
執行時間越過了配置文件中設置的最大執行時間30秒鐘,這不是你的程序本身存在的問題,而
是系統的配置文件問題,如果你的網速快的話,可能再執行一次就不會出現這種錯誤了,不過

有了出現這種問題也可以進行一定的修改,方法有三種:
1.修改php的配置文件,找到php.ini文件,它一般應該放在你的C:\WINDOWS目錄下,然後找到
max_execution_time = 30 ;//設置成你想要的值,單位是秒


這一行,這就是設置的執行時間最大值爲30秒,你可以對這個值進行一下修正,改爲你的期望值。(也可以直接設置成:max_execution_time = 0)


2.使用ini_set()函數,不是所有人都能修改php.ini文件的,那麼你可以使用這個函數來改變你的最大執行時間限制值,如:
ini_set('max_execution_time', '100');
則設置爲100秒,你也可以設置爲0,那麼就是不限制執行的時間。
3.使用set_time_limit()函數,set_time_limit(20)則表示最大執行時間加上20秒,但如果在php執行安全模式時,set_time_limit()將不會有結果,除非你用了第一種方法。


以下是部分講解:set_time_limit --- 限制最大的執行時間set_time_limit(PH3 , PHP4)set_time_limit --- 限制最大的執行時間語法 : void set_time_limit (int seconds)說明 : 設定一個程式所允許執行的秒數,如果到達限制的時間,程式將會傳回錯誤。

它預設的限制時間是30秒,max_execution_time的值定義在結構檔案中(在PHP3中叫做php3.ini,在PHP4則叫做php.ini),如果將秒數設爲0,表示無時間上的限制。

當呼叫此函式時,set_time_limit( )會從零重新開始計算最長執行的時間,也就是說,如果最長執行時間爲預設的30秒,而在呼叫此函式set_time_limit(20)之前已花了25秒來執行程式,則程式最長執行的時間將會是45秒。

注意 : 當PHP是執行在安全模式時,set_time_limit( )將不會有結果,除非是關閉安全模式或是修改結構檔案中(在PHP3中叫做php3.ini,在PHP4則叫做php.ini)的時間限制。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章