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

时间:2011-03-02 08:11:46

标签: php json

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

  

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

16 个答案:

答案 0 :(得分:658)

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

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

答案 1 :(得分:172)

我遇到了同样的问题并通过更改max_execution_time中参数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)

我希望这可以帮到你。

答案 2 :(得分:44)

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

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

set_time_limit(0);

答案 3 :(得分:21)

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

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

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

答案 4 :(得分:18)

修改 php.ini

找到这一行:

max_execution_time

将其值更改为300:

max_execution_time = 300

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

答案 5 :(得分:16)

您的脚本已超时。查看set_time_limit()函数以延长执行时间。或者对脚本进行分析以使其运行得更快:)

答案 6 :(得分: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方法确实解决了我的问题。

答案 7 :(得分:9)

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

1)使用php.ini文件

2)使用.htaccess文件

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

答案 8 :(得分:9)

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

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

答案 9 :(得分:7)

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

答案 10 :(得分:7)

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

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

答案 11 :(得分:5)

你很容易用whm。 jusst得到whm -----&gt;服务配置----------&gt; php配置编辑器------- max_execution_time -----&gt; 30(默认更改它无论你想要什么价值)

答案 12 :(得分: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);

!!但请注意,这两个函数都会重新开始计算脚本已执行的时间

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 ,不会出现任何警告/错误

答案 13 :(得分:3)

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

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

参考来自Increase the PHP Script Execution Time

答案 14 :(得分:2)

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

php_value max_execution_time 6000000

答案 15 :(得分:0)

我对以下情况进行了一些更改:xampp \ phpMyAdmin \ libraries \ config.default.php

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

您可以将右手值更改为任何更高的值,例如“ 5000”。而且有效。