近因為換了一個服務器,發(fā)現(xiàn)網(wǎng)站在一段時間沒有瀏覽或操作就會報這樣的錯誤Fatal error: Maximum execution time of 30 seconds exceeded in D:wwwrootqifanwebwwwrootincconfig.inc.php on line 9 經(jīng)過反復的查找排除,大連網(wǎng)絡(luò)公司發(fā)現(xiàn)了以下原因和解決方法。
這個錯誤是說你的php 執(zhí)行時間越過了配置文件中設(shè)置的大執(zhí)行時間30秒鐘,這不是你的程序本身存在的問題,而 是系統(tǒng)的配置文件問題,如果你的網(wǎng)速快的話,可能再執(zhí)行一次就不會出現(xiàn)這種錯誤了,不過
有了出現(xiàn)這種問題也可以進行一定的修改,方法有三種:
1.修改php的配置文件,找到php.ini文件,它一般應該放在你的C:WINDOWS目錄下,然后找到
max_execution_time = 30 ;//設(shè)置成你想要的值,單位是秒這一行,這就是設(shè)置的執(zhí)行時間大值為30秒,你可以對這個值進行一下修正,改為你的期望值。(也可以直接設(shè)置成:max_execution_time = 0)
2.使用ini_set()函數(shù),不是所有人都能修改php.ini文件的,那么你可以使用這個函數(shù)來改變你的大執(zhí)行時間限制值,如:
ini_set('max_execution_time', '100');則設(shè)置為100秒,你也可以設(shè)置為0,那么就是不限制執(zhí)行的時間。
3.使用set_time_limit()函數(shù),set_time_limit(20)則表示大執(zhí)行時間加上20秒,但如果在php執(zhí)行安全模式時,set_time_limit()將不會有結(jié)果,除非你用了先進種方法。以下是部分講解:set_time_limit --- 限制大的執(zhí)行時間set_time_limit(PH3 , PHP4)set_time_limit --- 限制大的執(zhí)行時間語法 : void set_time_limit (int seconds)說明 : 設(shè)定一個程式所允許執(zhí)行的秒數(shù),如果到達限制的時間,程式將會傳回錯誤。它預設(shè)的限制時間是30秒,max_execution_time的值定義在結(jié)構(gòu)檔案中(在PHP3中叫做php3.ini,在PHP4則叫做php.ini),如果將秒數(shù)設(shè)為0,表示無時間上的限制。
當呼叫此函式時,set_time_limit( )會從零重新開始計算長執(zhí)行的時間,也就是說,如果長執(zhí)行時間為預設(shè)的30秒,而在呼叫此函式set_time_limit(20)之前已花了25秒來執(zhí)行程式,則程式長執(zhí)行的時間將會是45秒。
注意 : 當PHP是執(zhí)行在安全模式時,set_time_limit( )將不會有結(jié)果,除非是關(guān)閉安全模式或是修改結(jié)構(gòu)檔案中(在PHP3中叫做php3.ini,在PHP4則叫做php.ini)的時間限制。
掃一掃
關(guān)注新圖聞科技
全國咨詢熱線
186-0984-0880