当我尝试在 phpMyadmin 中执行(某些)查询时,出现此错误
致命错误:第 140 行的 C:\xampp\phpmyadmin\libraries\dbi\mysql.dbi.lib.php 中的最大执行时间超过了 60 秒
因为我有一个非常大的表(超过 900 万条记录)
我已经编辑了文件 C:\xampp\php\php.ini
并将“最大执行时间”的值从 60 更改为 1000,然后重新启动 PHP 并仍然有相同的错误。
有什么解决办法吗?
当我尝试在 phpMyadmin 中执行(某些)查询时,出现此错误
致命错误:第 140 行的 C:\xampp\phpmyadmin\libraries\dbi\mysql.dbi.lib.php 中的最大执行时间超过了 60 秒
因为我有一个非常大的表(超过 900 万条记录)
我已经编辑了文件 C:\xampp\php\php.ini
并将“最大执行时间”的值从 60 更改为 1000,然后重新启动 PHP 并仍然有相同的错误。
有什么解决办法吗?
我有同样的错误,请转到
xampp\phpMyAdmin\libraries\config.default.php
寻找 :$cfg['ExecTimeLimit'] = 600;
您可以将“600”更改为任何更高的值,例如“6000”。
以秒为单位的最大执行时间为(0 表示无限制)。
这将解决您的错误。
适用于 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
我在执行 curl 时遇到了同样的问题。当我在php.ini
文件中更改以下内容时,我做对了:
max_execution_time = 1000 ;
并且
max_input_time = 1000 ;
可能您的问题应该通过进行上述两个更改并重新启动 apache 服务器来解决。
即使更改了上述问题仍然存在,如果您认为这是因为使用 mysql 进行了一些数据库操作,您也可以尝试更改:
mysql.connect_timeout = 1000 ; // this is not neccessary
所有这些都应该在 php.ini 文件中进行更改,并且应该重新启动 apache 服务器以查看更改。
您的更改应该有效。但是,“xampp”堆栈可能很少有 php.ini 配置文件。尝试确定是否存在特定于“apache”的 php.ini。一个潜在的位置是:
C:\xampp\apache\bin\php.ini
更改php.ini
Web 应用程序需要重新启动 Apache。
您应该通过运行执行该函数的 PHP 脚本来验证更改是否发生phpinfo()
。该函数的输出会告诉你很多 PHP 参数,包括超时值。
您可能还更改了php.ini
与 Apache 使用的文件不同的副本。
ini_set('max_execution_time', 0);
或创建名为的文件名php.ini
并输入第一行max_execution_time=0
,然后保存并将文件放在应用程序的根文件夹中。
就是这样。祝你好运。
对于 Wamp 用户来说,
去:wamp\apps\phpmyadmin3.3.9\libraries
在第 536 行下,locate $cfg['ExecTimeLimit'] = 0;
并将值从 0 更改为 6000。例如
$cfg['ExecTimeLimit'] = 0;
到
$cfg['ExecTimeLimit'] = 6000;
重新启动 wamp 服务器和 phew。
它像魔术一样工作!
在 WAMP 上对我有用的是修改文件:\Wamp64\alias\phpmyadmin.conf,行:
php_admin_value max_execution_time 600
php_admin_value max_input_time 600
我不必更改库文件。
“零”无限时间。
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'
在 php.ini 中,您也必须检查 mysql.connect_timeout。这负责关闭套接字并返回致命的。因此,例如,将其更改为:
mysql.connect_timeout = 3600
该时间将始终以秒为单位,因此在我的示例中,您有 1 小时。
可能您正在使用 XMAPP 作为服务,要正确重新启动 XMAPP,您必须打开 XMAPP 控制面板,取消选中针对 Apache 和 MySQL 的“Svc”mdodules。然后点击退出,现在重启 XMAPP 就完成了。
去xampp/php/php.ini
找到这一行:
max_execution_time=30
并将其值更改为您想要的任何数字。重启阿帕奇。