PHP腳本有他們允許執行的,如在php.ini中聲明的最大時間。
可以通過添加以下行規避這一點,如果你真的想:
ini_set('max_execution_time', 123456);
其中123456是你想要的極限是多少秒。
您也可以使用set_time_limit功能,這是我剛剛發現了約,並承擔做同樣的事情。我一直只是做了前者。
您可以在php.ini文件中更改它,但您可能正在使用腳本來執行批處理操作或其他操作。你不希望一個終端用戶訪問的PHP腳本在那裏掛起30秒或更長時間,所以你最好將它保留在默認狀態,或者甚至在php.ini文件中將它關閉,並根據需要設置max_execution_time。
正如在下面的評論中指出的那樣,您可以將max_execution_time設置爲0來阻止錯誤的發生,但seengee說得對,至少對於web請求來說,您確實不應該這樣做。對於php命令行解釋器,這種行爲是默認的。
如果您發現是應該由最終用戶通過網絡請求使用的問題,您可能需要進行一些分析以找出真正的原因。如果您正在進行MySQL查詢,請打開slow query log。當你忘記索引時,或者如果你做了其他效率低下的事時,它尤其擅長讓你知道。
你也可以推動一些$s = microtime(true); yourstuff(); var_dump(microtime(true)-$s);
的東西來得到一個模糊的概述,哪些位正在放慢速度,只是確保你沒有留下任何事後!
如果你還在苦苦尋找根源,設置xdebug你的本地計算機上並運行探查。該擴展可用作預編譯的Windows二進制文件(儘管似乎有一些令人困惑的版本)。您可以使用wincachegrind檢查運行分析器的結果。
請發佈您的完整代碼,可能會這樣做。此外,您還可以用'的ini_set( '的max_execution_time',14000)延長腳本時;' – Sarfraz 2010-10-29 10:53:34