大部分PHP代碼執行時間都不會很久。但是有些時候,比如等待圖片上傳,可能執行時間過長導致超時。
php.ini 中缺省的最長執行時間是 30 秒,這是由 php.ini 中的 max_execution_time 變量指定,倘若你有一個需要頗多時間才能完成的工作,例如要發送很多電子郵件給大量收件者,或者要進行繁重的數據分析工作,服務器會在 30 秒後強行中止正在執行的程序,如何解決這個問題呢。
最簡單當然是修改 php.ini 中 max_execution_time 的數值,不過不是所有人都有權修改 php.ini,例如使用網頁寄存的開發人員,服務器上的 php.ini 由很多網站共同使用,所以不能隨意修改。
另一個辦法是在 PHP 程序中加入 ini_set('max_execution_time', '0'),數值 0 表示沒有執行時間的限制,你的程序需要跑多久便跑多久。若果你的程序仍在測試階段,推薦你把時限設置一個實數,以免程序的錯誤把服務器當掉。
<?php //max_execution_time=100; ini_set("max_execution_time", 1); //用此function才能真正在運行時設置 for($i=1; $i< 100000; $i++) { echo "No. {$i}\n"; echo '<br />'; flush(); } ?>
同時可以使用ini_get把原來設置的max_execution_time保存下來,在進行完操作時回復原來的設定值。
在這裡簡單記錄下~