我正在从在线资源下载 JSON 文件,当它通过循环运行时,我收到此错误:
致命错误:第 24 行 C:\wamp\www\temp\fetch.php 中的最大执行时间超过 30 秒
你的循环可能是无止境的。如果不是,您可以像这样延长最大执行时间:
ini_set('max_execution_time', '300'); //300 seconds = 5 minutes
和
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)
我希望这可以帮助你。
php.ini
可以在 /etc/php5/apache2/php.ini
中找到....我使用的是 ubuntu 13.04...
上面所有的答案都是正确的,但在某些情况下我使用了一种简单的方法来避免它。
只需将此命令放在脚本的开头:
set_time_limit(0);
我在升级到 WordPress 4.0 时遇到了这个问题。默认情况下,WordPress 将最大执行时间限制为 30 秒。
将以下代码添加到 WordPress 安装根目录中的 .htaccess 文件以覆盖默认值。
php_value max_execution_time 300 //where 300 = 300 seconds = 5 minutes
编辑 php.ini
找到这一行:
max_execution_time
将其值更改为 300:
max_execution_time = 300
300 表示 http 请求的执行时间为 5 分钟。
您的脚本超时。查看 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 方法做到了。
我们可以通过 3 种不同的方式解决这个问题。
1) 使用 php.ini 文件
2) 使用 .htaccess 文件
3)使用 Wp-config.php 文件(用于 Wordpress)
您可以通过在脚本顶部添加以下行将限制设置为零来消除限制:
<?php ini_set('max_execution_time', '0'); ?>
按照路径 /etc/php5(your php version)/apache2/php.ini
。
打开它并将 max_execution_time
的值设置为所需的值。
也许检查您在 php.ini 文件下更改的任何内容。例如,我将“;intl.default_locale =”更改为“;intl.default_locale = en_utf8”以启用“国际化扩展(Intl)”而不添加“extension = php_intl.dll”,然后发生同样的错误。所以我建议检查类似的错误。
通过在 PHP 脚本顶部添加以下行来增加脚本执行时间。
ini_set('max_execution_time', 120); //120 seconds = 2 minutes
参考来自 Increase the PHP Script Execution Time
要扩展您的 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 而没有任何警告/错误
您可以使用 WHM 轻松完成。刚到:
WHM -> 服务配置 -> PHP 配置编辑器 -> max_execution_time=30
( 30 是默认值,将其更改为您想要的任何值)
我在 WordPress 站点中遇到了同样的问题,我在 .htaccess 文件中添加了然后对我来说工作正常。
php_value max_execution_time 6000000
我对我的情况进行了一些更改:xampp\phpMyAdmin\libraries\config.default.php
我搜索过:$cfg['ExecTimeLimit']
并更改右侧的值...
您可以将右手值更改为任何更高的值,例如“5000”。它有效。