致命错误:超出最长执行时间300秒

时间:2011-10-06 21:19:11

标签: php command-line-interface

我一直收到这个PHP错误:

  

致命错误:超过最长执行时间300秒

我尝试将php.ini中的max_execution_timemax_input_time设置(包括apache和cli)设置为0-14000秒每个

我仍然得到错误说:

  

致命错误:超过最长执行时间300秒

在我收到此消息之前,我的脚本运行超过300秒

我正在通过命令行运行脚本。

我还检查了我的phpinfo(),因此请查看我正在使用的php.ini

更有趣的是,我尝试将max_execution_timemax_input_time设置为5秒,我的脚本将在5秒内运行,然后才能获得:

  

致命错误:超过最长执行时间300秒

19 个答案:

答案 0 :(得分:81)

如果您正在使用WAMP请转到:

增加max_execution_time中的php.ini,然后转到

C:\wamp\apps\phpmyadmin3.4.10.1\libraries(根据您的安装更改路径)

打开config.default.php并将$cfg['ExecTimeLimit']的值更改为0:

$cfg['ExecTimeLimit'] = 0;

这将解决PhpMyAdmin导入的问题。

答案 1 :(得分:56)

在脚本的开头,您可以添加。

ini_set('MAX_EXECUTION_TIME', '-1');

答案 2 :(得分:50)

Xampp用户

  1. 转到xampp\phpMyAdmin\
  2. 打开config.inc.php
  3. 搜索$cfg['ExecTimeLimit'] = 300;
  4. 更改为0表示无限或设置更大的值
  5. 如果未找到,请添加$cfg['ExecTimeLimit'] = 0;(或更大的值)
  6. 保存文件并重新启动服务器

答案 3 :(得分:23)

我遇到了类似的情况,事实证明Codeigniter(我正在使用的PHP框架)实际上设置了自己的时间限制:

在system / core / Codeigniter.php中,版本2.1.3中的第106行出现以下内容:

if (function_exists("set_time_limit") == TRUE AND @ini_get("safe_mode") == 0)
{
    @set_time_limit(300);
}

由于没有其他方法可以避免更改核心文件,因此我将其删除以便允许通过php.ini进行配置,并为CLI请求提供无限的最长执行时间。

我建议在未来CI版本升级的情况下记录此更改。

答案 4 :(得分:9)

在脚本中尝试以下内容:

set_time_limit(1200);

答案 5 :(得分:6)

这是正确答案:

转到

c:\wamp\apps\phpmyadmin3.4.10.1\libraries\config.default.php

查找并设置

$cfg['ExecTimeLimit'] = 0;

重启所有服务 并完成了。

答案 6 :(得分:4)

转到xampp / phpmyadmin / libraries / config.default.php

并进行以下更改

from  $cfg['ExecTimeLimit'] = ’300′;
to  $cfg['ExecTimeLimit'] = ’0′;

答案 7 :(得分:1)

PHP的CLI默认执行时间是无限的。

  

设置允许脚本运行的最长时间(以秒为单位)   在它被解析器终止之前。这有助于防止不良   从捆绑服务器编写脚本。默认设置为30。   从命令行运行PHP时,默认设置为0。

http://gr.php.net/manual/en/info.configuration.php#ini.max-execution-time

检查您是否在安全模式下运行PHP,因为它在此时忽略了所有时间的exec设置。

答案 8 :(得分:0)

在我有多个 phpmyadmins 的配置中的 wamp 中,配置文件中的值在 wamp/alias/phpmyadmin.conf 中被覆盖。我在那里设置了两行:

1. php_admin_value max_execution_time 3600

2. php_admin_value max_input_time 3600

...终于成功了!

答案 9 :(得分:0)

如果您使用的是xampp,并使用phpMyadmin导入大型sql文件,并且增加了max_execution时间,最大文件上传限制以及所需的一切,并且上述任何一种解决方法都对您没有帮助

转到您的xampp文件夹,以我为例,这是我需要修改的文件的相对路径:C:\ xampp \ phpMyAdmin \ libraries \ config.default.php

/** * maximum execution time in seconds (0 for no limit) * * @global integer $cfg['ExecTimeLimit'] * by defautlt 300 is the value * change it to 0 for unlimited * time is seconds * Line 709 for me */ $cfg['ExecTimeLimit'] = 0;

答案 10 :(得分:0)

对于Xampp用户

1. Go to C:\xampp\phpMyAdmin\libraries
2. Open config.default.php
3. Search for $cfg['ExecTimeLimit'] = 300;
4. Change to the Value 300 to 0 or set a larger value
5. Save the file and restart the server
6. OR Set the ini_set('MAX_EXECUTION_TIME', '-1'); at the beginning of your script you can add.

答案 11 :(得分:0)

对于本地AppServ

转到C:\ AppServ \ www \ phpMyAdmin \ libraries \ config.default.php

查找$cfg['ExecTimeLimit']并将值设置为0.

所以它看起来像

$cfg['ExecTimeLimit'] = 0;

答案 12 :(得分:0)

MAMP用户 编辑php.ini解决了这个问题 - 有一行:

max_execution_time = 30;每个脚本的最长执行时间,以秒为单位

将此值设置为更高的值。

该文件位于php / php5.6.25 / conf / php.ini中(显然你需要为你正在使用的php版本弄湿文件 - 你可以从MAMP首选项中找到它。

答案 13 :(得分:0)

在Xampp上,在php.ini中你必须检查mysql.connect_timeout。因此,例如,将其更改为:

mysql.connect_timeout = 3600

该时间将始终以秒为单位计算(在我的示例中为1小时)

答案 14 :(得分:0)

在Codeignitor版本3.0.x中,system / core / Codeigniter.php不包含时间限制以及插入

arr[n]

将无效,因为codeignitor将使用自己的函数set_time_limit()覆盖它。 因此,您必须从codeignitor中删除该功能,或者只需插入

即可
ini_set('MAX_EXECUTION_TIME', -1);  
如果你想将它改为1000秒,那么在php文件的开头是

。 如果要根据需要运行时间,请将时间设置为0(零)。

答案 15 :(得分:0)

如果以上答案不起作用,请尝试检查您的代码,根据我的经验,无限循环也会导致该问题。如果声明,请检查您的其他。

答案 16 :(得分:0)

在我的情况下,当我在Phpmyadmin中遇到该错误时,我尝试MySQL-Front并成功导入我的数据库。

注意:您仍然可以使用此问题下提供的解决方案来解决Phpmyadmin中的问题。

答案 17 :(得分:0)

WAMP用户:

1)转到C:\ wamp \ apps \ phpmyadmin

2)打开config.inc

3)添加$ cfg ['ExecTimeLimit'] ='3600';到文件。

4)保存文件并重启服务器。

这个文件会覆盖php.ini,对你有用!

答案 18 :(得分:-1)

您可以设置时间限制:

ini_set('max_execution_time', 1000000000000000);