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