121

当我尝试在 phpMyadmin 中执行(某些)查询时,出现此错误

致命错误:第 140 行的 C:\xampp\phpmyadmin\libraries\dbi\mysql.dbi.lib.php 中的最大执行时间超过了 60 秒

因为我有一个非常大的表(超过 900 万条记录)

我已经编辑了文件 C:\xampp\php\php.ini

并将“最大执行时间”的值从 60 更改为 1000,然后重新启动 PHP 并仍然有相同的错误。

有什么解决办法吗?

4

12 回答 12

236

我有同样的错误,请转到

xampp\phpMyAdmin\libraries\config.default.php

寻找 :$cfg['ExecTimeLimit'] = 600;

您可以将“600”更改为任何更高的值,例如“6000”。

以秒为单位的最大执行时间为(0 表示无限制)。

这将解决您的错误。

于 2012-12-13T10:46:41.390 回答
125

适用于 Windows 上的 Xampp 版本

将此行添加到xampp\phpmyadmin\config.inc.php

$cfg['ExecTimeLimit'] = 6000;

并将xampp\php\php.ini更改为

post_max_size = 750M 
upload_max_filesize = 750M   
max_execution_time = 5000
max_input_time = 5000
memory_limit = 1000M

并更改xampp\mysql\bin\my.ini

max_allowed_packet = 200M
于 2013-07-13T08:16:44.753 回答
15

我在执行 curl 时遇到了同样的问题。当我在php.ini文件中更改以下内容时,我做对了:

max_execution_time = 1000 ;

并且

max_input_time = 1000 ;

可能您的问题应该通过进行上述两个更改并重新启动 apache 服务器来解决。

即使更改了上述问题仍然存在,如果您认为这是因为使用 mysql 进行了一些数据库操作,您也可以尝试更改:

mysql.connect_timeout = 1000 ; // this is not neccessary

所有这些都应该在 php.ini 文件中进行更改,并且应该重新启动 apache 服务器以查看更改。

于 2012-11-16T07:03:25.000 回答
7

您的更改应该有效。但是,“xampp”堆栈可能很少有 php.ini 配置文件。尝试确定是否存在特定于“apache”的 php.ini。一个潜在的位置是:

C:\xampp\apache\bin\php.ini

于 2009-08-12T00:37:57.587 回答
5

更改php.iniWeb 应用程序需要重新启动 Apache。

您应该通过运行执行该函数的 PHP 脚本来验证更改是否发生phpinfo()。该函数的输出会告诉你很多 PHP 参数,包括超时值。

您可能还更改了php.ini与 Apache 使用的文件不同的副本。

于 2009-08-12T00:39:20.647 回答
5

ini_set('max_execution_time', 0);或创建名为的文件名php.ini并输入第一行max_execution_time=0,然后保存并将文件放在应用程序的根文件夹中。

就是这样。祝你好运。

于 2011-07-11T12:24:02.607 回答
3

对于 Wamp 用户来说,

去:wamp\apps\phpmyadmin3.3.9\libraries

在第 536 行下,locate $cfg['ExecTimeLimit'] = 0;

并将值从 0 更改为 6000。例如

$cfg['ExecTimeLimit'] = 0;

$cfg['ExecTimeLimit'] = 6000;

重新启动 wamp 服务器和 phew。

它像魔术一样工作!

于 2016-01-23T15:59:12.690 回答
3

在 WAMP 上对我有用的是修改文件:\Wamp64\alias\phpmyadmin.conf,行:

 php_admin_value max_execution_time 600
 php_admin_value max_input_time 600

我不必更改库文件。

于 2018-10-20T17:46:28.433 回答
2

“零”无限时间。

C:\Apache24\htdocs\phpmyadmin\libraries\Config.class.php

/**
 * maximum execution time in seconds (0 for no limit)
 *
 * @global integer $cfg['ExecTimeLimit']
 */
$cfg['ExecTimeLimit'] = 0;

您还可以直接从 MySQL 导入大文件作为查询或 PHP 查询。

使用这种方法,500,000 行只花了我 18 秒在本地服务器上导入。

(首先创建表) - 然后:

LOAD DATA LOCAL INFILE 'Path_To_Your_File.csv' 
INTO TABLE Your_Table_Name 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\n' 
于 2014-12-10T16:55:23.150 回答
2

在 php.ini 中,您也必须检查 mysql.connect_timeout。这负责关闭套接字并返回致命的。因此,例如,将其更改为:

mysql.connect_timeout = 3600

该时间将始终以秒为单位,因此在我的示例中,您有 1 小时。

于 2016-11-09T08:00:23.270 回答
1

可能您正在使用 XMAPP 作为服务,要正确重新启动 XMAPP,您必须打开 XMAPP 控制面板,取消选中针对 Apache 和 MySQL 的“Svc”mdodules。然后点击退出,现在重启 XMAPP 就完成了。

于 2012-09-27T09:51:30.287 回答
1

xampp/php/php.ini

找到这一行:

max_execution_time=30

并将其值更改为您想要的任何数字。重启阿帕奇。

于 2013-12-29T03:15:40.383 回答