致命错误:超出最长执行时间30秒

问题描述 投票:357回答:16

我正在从在线源下载一个JSON文件,当它在循环中运行时,我收到此错误:

致命错误:第24行的C:\ wamp \ www \ temp \ fetch.php超出了30秒的最长执行时间

php json
16个回答
668
投票

你的循环可能是无止境的。如果不是,您可以延长最长执行时间,如下所示:

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

set_time_limit(300);

可以用来暂时延长时间限制。


7
投票

沿着路径/etc/php5(your php version)/apache2/php.ini

打开它并将max_execution_time的值设置为所需的值。


7
投票

也许在php.ini文件下检查你有没有改变过的东西。例如,我将“; intl.default_locale =”更改为“; intl.default_locale = en_utf8”以启用“国际化扩展(Intl)”而不添加“extension = php_intl.dll”,然后发生了同样的错误。所以我建议检查类似的错误。


5
投票

你可以轻松地用它来惹恼它。 jusst得到whm ----->服务配置----------> php配置编辑器------- max_execution_time -----> 30(默认情况下将其更改为任何值你想)


5
投票

要扩展你的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);

!! But be aware that, both functions restarts also counting of time script has already taken to execute

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在成功时返回旧值,或在失败时返回false而没有任何警告/错误

4
投票

通过在PHP脚本顶部添加以下行来增加脚本执行时间。

ini_set('max_execution_time', 120); //120 seconds = 2 minutes

参考文献来自Increase the PHP Script Execution Time


2
投票

我在WordPress网站上遇到同样的问题,我在.htaccess文件中添加了然后为我工作正常。

php_value max_execution_time 6000000

0
投票

我在我的案例中做了一些更改:xampp \ phpMyAdmin \ libraries \ config.default.php

我搜索过:$cfg['ExecTimeLimit']并更改右侧的值...

您可以将右手值更改为任何更高的值,例如“5000”。它的工作原理。


172
投票

我有同样的问题,并通过更改max_execution_time中的param php.ini的值来解决它,如下所示:

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)

我希望这可以帮到你。


43
投票

上面的所有答案都是正确的,但我在某些情况下使用一种简单的方法来避免它。

只需将此命令放在脚本的开头:

set_time_limit(0);

21
投票

我在升级到WordPress 4.0时遇到了这个问题。默认情况下,WordPress将最长执行时间限制为30秒。

将以下代码添加到WordPress安装根目录中的.htaccess文件中,以覆盖默认值。

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

18
投票

编辑php.ini

找到这一行:

max_execution_time

将其值更改为300:

max_execution_time = 300

300表示http请求的执行时间为5分钟。


16
投票

你的脚本超时了。查看set_time_limit()函数以延长执行时间。或者配置脚本以使其运行更快:)


11
投票

如果以上所有内容都不适合你,那么将.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方法确实解决了我的问题。


9
投票

您可以通过在脚本顶部添加此行将其设置为零来删除限制:

<?php ini_set('max_execution_time', 0); ?>

9
投票

我们可以用3种不同的方式解决这个问题。

1)使用php.ini文件

2)使用.htaccess文件

3)使用Wp-config.php文件(用于Wordpress)

© www.soinside.com 2019 - 2024. All rights reserved.