我添加了set_time_limit(0);
函數來增加執行時間,但它的執行時間最多隻有2-3分鐘。增加php的最大執行時間
error_reporting(E_ALL);
error_reporting(1);
set_time_limit(0);
我想搜索一個網站的鏈接,這需要很長的石灰。
任何幫助將不勝感激。
非常感謝。
我添加了set_time_limit(0);
函數來增加執行時間,但它的執行時間最多隻有2-3分鐘。增加php的最大執行時間
error_reporting(E_ALL);
error_reporting(1);
set_time_limit(0);
我想搜索一個網站的鏈接,這需要很長的石灰。
任何幫助將不勝感激。
非常感謝。
PHP文件(例如,my_lengthy_script.php)
ini_set('max_execution_time', 300); //300 seconds = 5 minutes
.htaccess文件
<IfModule mod_php5.c>
php_value max_execution_time 300
</IfModule>
更多配置選項
如果WordPress的,設置這個在config.php文件,
define('WP_MEMORY_LIMIT', '128M');
如果Drupal的,網站/默認/ settings.php這個
ini_set('memory_limit', '128M');
如果使用的是其他框架,
ini_set('memory_limit', '128M');
您可以增加內存爲技嘉。
ini_set('memory_limit', '3G'); // 3 Gigabytes
259200意味着: -
(259200/(60x60 minutes))/24 hours ===> 3 Days
有趣的是,這也適用於Suhosin「強化」PHP環境。 –
謝謝大家接受答案並評論! –
這將工作在活的服務器上,我託管我的網站我已經嘗試過,但它沒有。所以我很迷惑,可能主機提供商已經設置了max_execution_time到30秒可能是多數民衆贊成爲什麼這個例子沒有工作 –
在您的網絡服務器中可能存在限制。某些瀏覽器/代理也會實現超時。通過HTTP請求調用長時間運行的進程是愚蠢的。解決此問題的正確方法(假設您無法更快地完成處理)是使用HTTP請求觸發Web服務器會話組以外的處理,然後通過HTTP輪詢狀態,直到獲得結果集。
好吧,有兩種方法可以改變max_execution_time。
1.您可以直接在php.ini文件中設置它。其次,您可以在代碼中添加以下行。
ini_set('max_execution_time', '100')
那麼,因爲你在一個共享服務器上,你不能做任何事情。他們通常設置最大執行時間,以便您不能覆蓋它。我建議你與他們聯繫。
這是老問題,但如果有人發現今天有機會PHP將通過PHP-FPM和的mod_fastcgi運行。在這種情況下,這裏沒有任何東西可以幫助延長執行時間,因爲Apache將終止連接到一個30秒內不輸出任何內容的進程。只有擴展它的方法是在apache(module/site/vhost)配置中更改-idle-timeout。
FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi -socket /run/php/php7.0-fpm.sock -idle-timeout 900 -pass-header Authorization
你是一個共享的服務器上? – Mob
是的,我在共享服務器上 – Bajrang