我有一個運行循環的PHP腳本,可能會持續數小時。但約50分鐘後,我收到以下錯誤,雖然劇本是遠遠超出60秒時:最大執行時間PHP錯誤
Fatal error: Maximum execution time of 60 seconds exceeded in /path/script.php on line 275
通過腳本失敗時的內存使用量是11359848個字節 - 10.8336 MB。 任何想法可能會導致劇本跳出這樣的事情?
我有一個運行循環的PHP腳本,可能會持續數小時。但約50分鐘後,我收到以下錯誤,雖然劇本是遠遠超出60秒時:最大執行時間PHP錯誤
Fatal error: Maximum execution time of 60 seconds exceeded in /path/script.php on line 275
通過腳本失敗時的內存使用量是11359848個字節 - 10.8336 MB。 任何想法可能會導致劇本跳出這樣的事情?
最大執行時間不是實時的,而是CPU時間。
因此,如果發送例如一個需要10個小時完成的HTTP請求(即您等待I/O),您可以輕鬆地保持在60秒的限制內。但是,如果嘗試使用蠻力破解哈希(即腳本實際上正在做某事的某些事情),那麼在實時達到幾乎60秒之後,您將達到時間限制。
你的問題的解決方案很簡單:set_time_limit(0);
禁用時間限制,除非PHP在safe_mode設置運行,但如果是這樣的話它的時間機會託管公司。
我敢肯定,除此之外還有更多,至少如果通過網絡服務器和瀏覽器訪問腳本。如果我記得,還有其他一些事情,如斷開TCP會停止腳本。 – jedwards
是的,但這些不會導致OP得到的錯誤。除此之外,如果他有一段腳本運行那麼久,我真的希望他不會通過網絡服務器運行它。 – ThiefMaster
雙方同意。如果可以的話,補充說這個函數[在安全模式下沒有效果](http://php.net/manual/en/function.set-time-limit.php),也許指出php.ini選項。無論如何,+1 – jedwards
什麼是script.php。我的意思是你在script.php中進行數據訪問 –
@DigitalAssets:*是,*你。 – ThiefMaster
您是從命令行還是通過網絡服務器和遠程Web瀏覽器運行此腳本? – jedwards