1. 程式人生 > 實用技巧 >設定PHP最長執行時間

設定PHP最長執行時間

通常來說,預設的PHP程式最大執行時間是30s,如果你的程式執行超過這個時間限制,那麼會有類似Maximum execution time of 30 seconds exceeded的報錯。

有幾種解決辦法:

首先先檢查是不是你的在做一些傻事,從而消耗了大量的CPU資源及時間,如果確實需要程式長時間執行才能得出結果,那麼可以

1> 在php.ini中增加執行時間:

?
1max_execution_time=300

2> 在PHP檔案中新增如下程式碼

?
1ini_set('max_execution_time', 300); //300 seconds = 5 minutes

3> 使用.htaccess

檔案來增加執行時間:

?
123<IfModule mod_php5.c>php_value max_execution_time 300</IfModule>

其他一些常見配置參考:

?
12345678<IfModule mod_php5.c>php_value post_max_size 5Mphp_value upload_max_filesize 5Mphp_value memory_limit 128Mphp_value max_execution_time 300php_value max_input_time 300php_value session.gc_maxlifetime 1200
</IfModule>

如果你的環境是wordpress,那麼請在config.php中,新增:

?
1define('WP_MEMORY_LIMIT', '128M');

如果你使用了其他一些框架,可以修改

ini_set('memory_limit', '128M');

預設情況下,php.ini 中配置的最大執行時間是 30 秒,這是由 php.ini 中的 max_execution_time 變數指定的。如果我們有一個需要花費很多時間的工作,比如要傳送大量郵件,或者要進行龐大的資料統計分析工作。即使任務沒有執行完畢,伺服器也會在 30 秒後強行中止正在執行的程式。
1,修改最長執行時間的兩種方法
(1)直接修改 php.ini 中 max_execution_time 的數值。
(2)如果沒許可權修改 php.ini 檔案,或者我們想對某些頁面進行單獨設定。那麼也可以在 PHP 程式頁面中進行設定,程式碼如下(數值 0 表示沒有執行時間的限制)。
1 ini_set('max_execution_time', '0');


2,如果使用IIS伺服器,記得還要修改“活動超時”時間

如果是在 IIS 服務下執行 PHP 程式,會發現根據前面的方法修改後,執行長時間的操作還是會報錯。錯誤資訊如下:

HTTP 錯誤 500.0 - Internal Server Error
C:\websoft\php\php-cgi.exe - FastCGI 程序超過了配置的請求超時時

解決辦法:IIS -> FastCGI 設定-> 雙擊"php-cgi.exe" ->"活動超時" ,根據需求將這個值提高。


原文出自:www.hangge.com轉載請保留原文連結:http://www.hangge.com/blog/cache/detail_1369.html