php max_execution_time執行時間問題

lankecms發表於2015-06-16
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儲存下來,在進行完操作時回覆原來的設定值。 
在這裡簡單記錄下~

相關文章