我正在从网上下载一个JSON文件,当它通过循环运行时,我得到了这个错误。
致命的错误。在C:\wamp\www\temp\fetch.php第24行,超过了30秒的最大执行时间。
你的循环可能是无止境的。如果不是,你可以像这样延长最大执行时间。
ini_set('max_execution_time', 300); //300秒=5分钟
和
set_time_limit(300);
可以用来暂时延长时间限制。
我也有同样的问题,通过改变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()函数来增加执行时间。或者对脚本进行剖析,使其运行更快 :)
如果以上所有的工作都不适合你,那么在你的脚本所在的目录下添加一个.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方法做到了。
按照路径/etc/php5(你的php版本)/apache2/php.ini
。
打开它,将 "max_execution_time "的值设置为需要的值。
要扩展您的 [最大执行时间
][1] 您可以使用 [ini_set
][2] 或 [set_time_limit
][3]。
// 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
][3]不会返回是否成功的信息,但会在错误时发出警告。ini_set
][2]成功时返回旧值,失败时返回false,没有任何警告/错误。[1]: http://php.net/manual/en/info.configuration.php#ini.max-execution-time [2]: http://php.net/manual/en/function.ini-set.php [3]: http://php.net/manual/en/function.set-time-limit.php