2011-03-02 213 views
302

我從在線源下載一個JSON文件,當它貫穿於環我收到此錯誤:致命錯誤:最長30秒的執行時間超過

Fatal error: Maximum execution time of 30 seconds exceeded in C:\wamp\www\temp\fetch.php on line 24

+9

[最大執行時間超過60秒]的可能重複(http://stackoverflow.com/questions/2202355/maximum-execution-time-of-60-seconds-exceeded)這是另外三個重複項已經。詢問前請使用搜索功能。 – Gordon 2011-03-02 08:14:42

+0

@戈登對不起,下次還會記住這個 – 2011-03-02 08:23:07

+3

這個pastbin文檔現在也失蹤了:( – dsummersl 2013-09-06 13:22:00

回答

537

你的循環可能是無止境的。如果不是,則可以延長最大執行時間,如下所示:

ini_set('max_execution_time', 300); //300 seconds = 5 minutes
+2

謝謝你。不,它只有300個關閉循環:) – 2011-03-02 08:16:06

+67

set_time_limit(300)可用於暫時延長時間限制。 – Omn 2013-07-17 20:25:39

+0

這是僅爲該腳本設置的,還是會影響在同一臺服務器上執行此腳本之後執行的所有其他腳本? – Rao 2013-11-22 11:47:30

15

您的腳本超時。看看set_time_limit()函數來提高執行時間。或配置文件腳本,使其運行速度更快:)

+0

你能解釋你的意思嗎?通過簡介腳本plz – 2011-03-02 08:22:38

+1

@HarshaMV他的意思是使用性能配置文件來確定爲什麼腳本開始很慢,並優化您的代碼以提高執行時間。這可能會也可能不會有用,具體取決於瓶頸是什麼(CPU vs.磁盤I/O與網絡)。 – Dan 2015-10-07 15:27:52

149

我有同樣的問題,並在php.ini解決它通過改變值帕拉姆max_execution_time,像這樣:

max_execution_time = 360  ; Maximum execution time of each script, in seconds (I CHANGED THIS VALUE) 
max_input_time = 120   ; Maximum amount of time each script may spend parsing request data 
;max_input_nesting_level = 64 ; Maximum input variable nesting level 
memory_limit = 128M   ; Maximum amount of memory a script may consume (128MB by default) 

我希望這會幫你。

+1

出於某種原因,ini_set不起作用,但確實有幫助! – gabrjan 2013-07-16 14:00:26

+0

'php.ini'可以在'/ etc/php5/apache2/php.ini'中找到....我使用的是ubuntu 13.04 ... – Enissay 2013-09-04 14:18:15

+0

我在安裝moodle時遇到了同樣的問題,但是解決了配置php的問題。 ini文件 – 2013-11-01 11:37:34

5

你可以很容易地用whm。正確得到whm ----->服務配置----------> php配置編輯器------- max_execution_time -----> 30(它默認將它改爲任何值你想要的)

6

也許檢查你在php.ini文件下更改過的任何東西。爲了使「國際擴展名(國際機場)」而不添加「擴展名= php_intl.dll」 例如我改變了「; intl.default_locale =」「intl.default_locale = en_utf8」那麼發生了同樣的錯誤。所以我建議檢查類似的錯誤。

42

以上所有答案都是正確的,但我在一些情況下使用了一種簡單的方法來避免它。

只是把這個命令在腳本的開頭:

set_time_limit(0); 
15

編輯的php.ini

找到這行:

max_execution_time 

更改其值設置爲300:

max_execution_time = 300 

300表示HTTP請求的執行時間爲5分鐘。

7

按照路徑/etc/php5(your php version)/apache2/php.ini

打開它並將值max_execution_time設置爲所需的值。

17

我遇到了這個問題,同時升級到WordPress 4.0默認情況下,WordPress將最大執行時間限制爲30秒。

WordPress安裝的根目錄下面的代碼添加到您的.htaccess 文件過度乘坐的默認。

php_value max_execution_time 300 //where 300 = 300 seconds = 5 minutes 
9

我們可以用3種不同的方式解決這個問題。

1)使用php.ini文件

2)使用.htaccess文件

3)使用WP-config.php文件(WordPress的)

詳情 - >steptoinstall

10

如果以上所有內容都不適用於您,請將.htaccess文件添加到腳本所在的目錄中,並將其放入

<IfModule mod_php5.c> 
php_value post_max_size 200M 
php_value upload_max_filesize 200M 
php_value memory_limit 300M 
php_value max_execution_time 259200 
php_value max_input_time 259200 
php_value session.gc_maxlifetime 1200 
</IfModule> 

這是我解決我的問題的方式,ini_set('max_execution_time', 86400);set_time_limit(86400)都不能解決我的問題,但.htaccess方法。

+1

它適用於我的情況。謝謝。將GB替換爲G – 2015-09-07 09:09:26

2

採取我在WordPress網站, 我在.htaccess文件中添加有同樣的問題,然後工作對我罰款。

php_value max_execution_time 6000000 
4

要延長max_execution_time您可以使用ini_setset_time_limit

// Set maximum execution time to 10 seconds this way 
ini_set('max_execution_time', 10); 
// or this way 
set_time_limit(10); 

!!但要注意的是,這兩種功能也重新開始計算時間的腳本已經採取執行

sleep(2); 
ini_set('max_execution_time', 5); 

register_shutdown_function(function(){ 
    var_dump(microtime(true) - $_SERVER['REQUEST_TIME_FLOAT']); 
}); 

for(;;); 

// 
// var_dump outputs float(7.1981489658356) 
// 

所以如果你想設置的時間腳本的確切最高金額可以運行,你的命令必須是第一次。這兩個功能之間

差異是

  • set_time_limit不返回的信息是否是成功的,但它扔在錯誤的警告。
  • ini_set返回舊值的成功,或失敗沒有任何警告/錯誤
6

您可以通過塞汀它通過在你的腳本的頂部添加這一行解除限制到零:

<?php ini_set('max_execution_time', 0); ?> 
相關問題