我从一个在线源下载一个JSON文件,当它通过循环运行时,我得到这个错误:

致命错误:C:\wamp\www\temp\fetch.php第24行超过最大执行时间30秒


当前回答

你可以通过在脚本顶部添加这一行来将其设置为0来消除限制:

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

其他回答

要扩展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)
//

因此,如果您想要设置脚本可以运行的确切的最大时间,您的命令必须是第一个。

这两个功能之间的区别是

Set_time_limit不会返回是否成功的信息,但会在错误时抛出警告。 Ini_set成功时返回旧值,失败时返回false,没有任何警告/错误

如果以上所有方法都不起作用,那么在脚本所在的目录中添加一个.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方法解决了这个问题。

我有同样的问题,并通过改变参数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)

我希望这能帮助到你。

编辑php . ini

找到这条线:

max_execution_time

将其值改为300:

max_execution_time = 300

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

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

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

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