致命错误:超过30秒的最大执行时间
我正在从一个在线源下载一个JSON文件,当它通过循环运行时,我得到这个错误:
致命错误:在第24行的C:\ wamp \ www \ temp \ fetch.php中超过了30秒的最大执行时间
你的循环可能是无止境的。 如果不是,那么可以像这样延长最大执行时间:
ini_set('max_execution_time', 300); //300 seconds = 5 minutes
我有同样的问题,并通过更改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)
我希望这可以帮助你。
以上所有的答案都是正确的,但是在某些情况下,我使用一种简单的方法来避免它。
只要把这个命令放在脚本的开头就可以了:
set_time_limit(0);
您的脚本超时。 看看set_time_limit()函数来提高执行时间。 或configuration脚本,使其运行速度更快:)
我升级到WordPress 4.0时遇到了这个问题。 默认情况下,WordPress将最大执行时间限制为30秒。
将以下代码添加到您的WordPress安装的根目录下的.htaccess文件,以覆盖默认设置。
php_value max_execution_time 300 //where 300 = 300 seconds = 5 minutes
编辑php.ini
find这一行:
max_execution_time
将其值更改为300:
max_execution_time = 300
300意味着5分钟的http请求执行时间。
如果以上所有内容都不适用于您,请将.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)使用php.ini文件
2)使用.htaccess文件
3)使用Wp-config.php文件(用于Wordpress)
欲了解更多详情 – > steptoinstall
按照path/etc/php5(your php version)/apache2/php.ini
。
打开它并将max_execution_time
的值设置为所需的值。
也许检查你在php.ini文件下改变的任何东西。 例如我改变了“; intl.default_locale =”为“; intl.default_locale = en_utf8”为了启用“国际化扩展(国际)”而不增加“扩展= php_intl.dll”,那么这个相同的错误发生。 所以我build议检查类似的错误。
你用白纸轻轻一捏就可以了。 正确得到whm —–>服务configuration———-> phpconfiguration编辑器——- max_execution_time —–> 30(它是默认更改为任何值你想)
您可以通过在脚本顶部添加以下行来将其限制为零:
<?php ini_set('max_execution_time', 0); ?>
通过在PHP脚本顶部添加以下行来增加脚本执行时间。
ini_set('max_execution_time', 120); //120 seconds = 2 minutes
参考来自增加PHP脚本执行时间
要扩展max_execution_time
,可以使用ini_set
或set_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) //
所以如果你想设置脚本可以运行的最大时间,你的命令必须是第一个。
这两个function之间的区别是
-
set_time_limit
不返回信息是否成功,但是会在错误时发出警告。 -
ini_set
在成功时返回旧值,如果没有任何警告/错误,则在失败时返回false
我在WordPress网站有同样的问题,我join了.htaccess文件,然后为我工作得很好。
php_value max_execution_time 6000000