2011-03-02 181 views
302

我从在线源下载一个JSON文件,当它贯穿于环我收到此错误:致命错误:最长30秒的执行时间超过

Fatal error: Maximum execution time of 30 seconds exceeded in C:\wamp\www\temp\fetch.php on line 24

+9

[最大执行时间超过60秒]的可能重复(http://stackoverflow.com/questions/2202355/maximum-execution-time-of-60-seconds-exceeded)这是另外三个重复项已经。询问前请使用搜索功能。 – Gordon 2011-03-02 08:14:42

+0

@戈登对不起,下次还会记住这个 – 2011-03-02 08:23:07

+3

这个pastbin文档现在也失踪了:( – dsummersl 2013-09-06 13:22:00

回答

537

你的循环可能是无止境的。如果不是,则可以延长最大执行时间,如下所示:

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

谢谢你。不,它只有300个关闭循环:) – 2011-03-02 08:16:06

+67

set_time_limit(300)可用于暂时延长时间限制。 – Omn 2013-07-17 20:25:39

+0

这是仅为该脚本设置的,还是会影响在同一台服务器上执行此脚本之后执行的所有其他脚本? – Rao 2013-11-22 11:47:30

15

您的脚本超时。看看set_time_limit()函数来提高执行时间。或配置文件脚本,使其运行速度更快:)

+0

你能解释你的意思吗?通过简介脚本plz – 2011-03-02 08:22:38

+1

@HarshaMV他的意思是使用性能配置文件来确定为什么脚本开始很慢,并优化您的代码以提高执行时间。这可能会也可能不会有用,具体取决于瓶颈是什么(CPU vs.磁盘I/O与网络)。 – Dan 2015-10-07 15:27:52

149

我有同样的问题,并在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) 

我希望这会帮你。

+1

出于某种原因,ini_set不起作用,但确实有帮助! – gabrjan 2013-07-16 14:00:26

+0

'php.ini'可以在'/ etc/php5/apache2/php.ini'中找到....我使用的是ubuntu 13.04 ... – Enissay 2013-09-04 14:18:15

+0

我在安装moodle时遇到了同样的问题,但是解决了配置php的问题。 ini文件 – 2013-11-01 11:37:34

5

你可以很容易地用whm。正确得到whm ----->服务配置----------> php配置编辑器------- max_execution_time -----> 30(它默认将它改为任何值你想要的)

6

也许检查你在php.ini文件下更改过的任何东西。为了使“国际扩展名(国际机场)”而不添加“扩展名= php_intl.dll” 例如我改变了“; intl.default_locale =”“intl.default_locale = en_utf8”那么发生了同样的错误。所以我建议检查类似的错误。

42

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

只是把这个命令在脚本的开头:

set_time_limit(0); 
15

编辑的php.ini

找到这行:

max_execution_time 

更改其值设置为300:

max_execution_time = 300 

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

7

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

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

17

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

WordPress安装的根目录下面的代码添加到您的.htaccess 文件过度乘坐的默认。

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

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

1)使用php.ini文件

2)使用.htaccess文件

3)使用WP-config.php文件(WordPress的)

详情 - >steptoinstall

10

如果以上所有内容都不适用于您,请将.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

它适用于我的情况。谢谢。将GB替换为G – 2015-09-07 09:09:26

2

采取我在WordPress网站, 我在.htaccess文件中添加有同样的问题,然后工作对我罚款。

php_value max_execution_time 6000000 
4

要延长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返回旧值的成功,或失败没有任何警告/错误
6

您可以通过塞汀它通过在你的脚本的顶部添加这一行解除限制到零:

<?php ini_set('max_execution_time', 0); ?> 
相关问题