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

我不断收到这个PHP错误:

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

我已经尝试将我的max_execution_time和我的max_input_time设置在php.ini(包括apache和cli)每个0-14000秒。

而我仍然得到错误说:

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

以及我的脚本运行超过300秒之前,我收到这条消息

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

我也检查了我的phpinfo()所以看看我使用的php.ini

更有趣的是,我已经尝试设置max_execution_timemax_input_time设置为5秒,我的脚本将运行超过5秒的方式,然后我得到:

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

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

 ini_set('MAX_EXECUTION_TIME', -1); 

如果您使用WAMP转到:

php.ini增加max_execution_time ,然后进入

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

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

 $cfg['ExecTimeLimit'] = 0; 

这将解决PhpMyAdmin导入问题。

Xampp用户

  1. 转到xampp\phpMyAdmin\
  2. 打开config.inc.php
  3. search$cfg['ExecTimeLimit'] = 300;
  4. 更改为0为无限或放大一个值
  5. 如果找不到,请在xampp\phpMyAdmin\libraries查找config.default.php
  6. search$cfg['ExecTimeLimit'] = 300;
  7. 更改为0为无限或放大一个值
  8. 保存该文件并重新启动服务器

编辑:

根据@brandozz,可以添加 $cfg['ExecTimeLimit'] = 0; 到config.inc.php文件,如果它不存在。 如果它适用于其他人,请在这里留言,我将编辑答案。

我遇到了类似的情况,结果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进行configuration,并为CLI请求提供无限的最大执行时间。

我build议在未来的CI版本升级的情况下logging这个变化。

在您的脚本中尝试如下所示:

 set_time_limit(1200); 

这是正确的答案:

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

find并设置

 $cfg['ExecTimeLimit'] = 0; 

重启所有服务并完成。

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

这设置脚本允许在parsing器终止之前运行的最长时间(以秒为单位)。 这有助于防止拼写不佳的脚本捆绑服务器。 默认设置是30.当从命令行运行PHP时,默认设置为0。

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

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

去xampp / phpmyadmin / libraries / config.default.php

并进行以下更改

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

WAMP用户:

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

2)打开config.inc

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

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

这个文件覆盖了php.ini,并且会为你工作!

就我而言,当我在Phpmyadmin遇到这个错误时,我尝试了MySQL-Front并成功导入了我的数据库。

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

如果上面的答案不起作用,请尝试检查你的代码,按照我的经验,有一个无限循环也会导致这个问题。检查你的其他语句。

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

 ini_set('MAX_EXECUTION_TIME', -1); 

将不起作用,因为codeignitor会用自己的函数set_time_limit()覆盖它。 所以要么你必须从codeignitor删除该function,或者只是你可以插入

 set_time_limit('1000'); 

在PHP文件的开始,如果你想改变到1000秒。 将时间设置为0(零),如果你想运行它,只要它想。

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

 mysql.connect_timeout = 3600 

这个时间总是以秒为单位(在我的例子中是1小时)

MAMP用户编辑php.ini解决了这个问题 – 有一条线:

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

将其设置为更高的值。

该文件是在php / php5.6.25 / conf / php.ini(显然,你需要弄湿你正在使用的PHP版本的文件 – 你可以从MAMP偏好中find这个。

你可以设定时间限制:

 ini_set('max_execution_time', 1000000000000000);