phpMyadmin中的最长执行时间

问题描述 投票:90回答:12

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

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

因为我有一张非常大的桌子(超过9百万条记录)

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

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

有解决方案吗

php mysql database xampp execution-time
12个回答
167
投票

我有同样的错误,请转到

XAMPP的\ phpMyAdmin的\图书馆\ config.default.php

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

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

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

这将解决您的错误。


1
投票

'ZERO'无限时间。

C:\ Apache24 \ htdocs中\ phpMyAdmin的\图书馆\ 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' 

1
投票

对于Wamp用户来说,

转到:wamp\apps\phpmyadmin3.3.9\libraries

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

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

$cfg['ExecTimeLimit'] = 0;

$cfg['ExecTimeLimit'] = 6000;

重启wamp服务器和phew。

它就像魔法一样!


0
投票

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

 php_admin_value max_execution_time 600
 php_admin_value max_input_time 600

我没有必要更改库文件。


94
投票

对于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

13
投票

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

max_execution_time = 1000 ;

并且

max_input_time = 1000 ;

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

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

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

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


6
投票

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

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


4
投票

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

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

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


3
投票

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

而已。祝好运。


2
投票

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

mysql.connect_timeout = 3600

那个时间总是以秒为单位,所以在我的例子中你有1个小时。


1
投票

你正在使用XMAPP作为服务,正确地重新启动XMAPP,你必须打开XMAPP控制面板,取消检查Apache和MySQL的“Svc”模块。然后单击退出,现在重新启动XMAPP,您就完成了。


1
投票

xampp/php/php.ini

找到这一行:

max_execution_time=30

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

© www.soinside.com 2019 - 2024. All rights reserved.