如何在phpmyadmin中解决超时问题?


78

我想通过phpMyAdmin导入巨大的(至少300 mb)SQL脚本。

我试过了:

post_max_size = 750M
upload_max_filesize = 750M
max_execution_time = 300
max_input_time = 540
memory_limit = 1000M

在我的php.ini文件中,但是在导入过程中仍然出现超时错误。


您的脚本要花300多秒才能执行,所以超时。.尝试增加它的时间...仅供参考,您应该先看看您的代码,为什么脚本要花太多时间才能运行
13年

究竟得到什么错误?
Pekka

max_execution_time = 550对吗?
user1811486

我得到的错误是“脚本超时已通过,如果您要完成导入,请重新提交相同的文件,导入将恢复。”
user1811486

3
那为什么不重新提交相同的文件呢?phpMyAdmin似乎足够聪明来处理问题?
Pekka

Answers:


136

如果即使重复上传后仍然出现超时错误,请在中更改设置

\phpmyadmin\libraries\config.default.php

$cfg['ExecTimeLimit'] = 300;$cfg['ExecTimeLimit'] = 0;并重新启动。现在没有执行时间限制(相信我们在谈论本地服务器)。

来源:在phpmyadmin中更改脚本超时


32
或者更好的方法是,将该设置放入您的中phpmyadmin/config.inc.php
博多

我尝试了您的建议@canaaerus,但即使更改了位置并最终撤消了它并重新启动了apache2服务器,它也弄乱了我的系统。现在显示错误SQL查询:DocumentationEdit Edit SELECT commentFROM phpmyadminpma__column_info其中db_name ='bot4a'AND table_name ='AND column_name ='(db_comment)'MySQL说:文档#1100-表'pma__column_info'没有用锁定表锁定
Rodrigo

1
@Rodrigo:我很确定这与上面的设置无关。另外,您应该问这个新问题,而不是发表评论。
博多

2
config.inc.php/Library/Application Support/appsolute/MAMP PRO/phpMyAdmin在Mac OS X上使用MAMP
Shaun Dychko

正如@chuchunaku所说-您应该编辑config.inc.php否则将不起作用。这是它恢复为非活动配置的设置。
Bysander

15

我遇到了同样的问题,并且使用命令行来导入SQL文件。此方法具有3个优点:

  1. 仅运行1个命令行是一种非常简单的方法
  2. 它运行得更快
  3. 没有限制

如果要这样做,请按照以下3个步骤操作:

  1. 导航到以下路径(我使用wamp):

    C:\ wamp \ bin \ mysql \ mysql5.6.17 \ bin>

  2. 在此路径内复制您的sql文件(例如file.sql)

  3. 运行以下命令:

    mysql -u用户名-p数据库名<file.sql

注意:如果已经设置了msql环境变量路径,则无需在bin目录中移动file.sql,而应仅导航至文件的路径。


对于osx上的其他人;您可能需要使用./mysql(而不是仅仅使用mysql
NicolaiKrüger'16

14

我正在使用MAMP的4.0.3版本以及phpmyadmin。/Applications/MAMP/bin/phpMyAdmin/libraries/config.default.php的顶部显示:

不要编辑该文件,不要编辑config.inc.php!

更改/Applications/MAMP/bin/phpMyAdmin/config.inc.php中的以下行并重新启动MAMP对我来说是可行的。

$cfg['ExecTimeLimit'] = 0;

其他一些答案是说要编辑一个文件“请勿编辑此文件”,为什么人们会忽略此通知?此答案提供了可靠的建议,并且不会忽略文件顶部的通知。
斯潘塞·

12

但是,如果您使用的是Plesk,请在中更改设置:

/usr/local/psa/admin/htdocs/domains/databases/phpMyAdmin/libraries/config.default.php

更改$cfg['ExecTimeLimit'] = 300;$cfg['ExecTimeLimit'] = 0;

并使用Plesk UI重新启动或使用:

/etc/init.d/psa restart/etc/init.d/httpd restart


7

如果使用Cpanel / WHM,则文件的位置config.default.php

/usr/local/cpanel/base/3rdparty/phpMyAdmin/libraries

您应该将更$cfg['ExecTimeLimit'] = 300;改为$cfg['ExecTimeLimit'] = 0;


4

我以前在XAMPP本地主机上有phpmyadmin 4.2.11版本的问题。

增加超时php.ini也没有帮助。

然后,我编辑xampp\phpMyAdmin\libraries\config.default.php以更改的值$cfg['ExecTimeLimit'],默认情况下为300。

那解决了我的问题。


4

如果您碰巧使用WAMP,那么至少在当前版本(3.0.6 x64)中,有一个文件位于<your-wamp-dir>\alias\phpmyadmin.conf其中,该文件将覆盖您的php.ini选项。

编辑此部分:

# To import big file you can increase values php_admin_value upload_max_filesize 512M php_admin_value post_max_size 512M php_admin_value max_execution_time 600 php_admin_value max_input_time 600


谢谢你发布这个-真的帮了我!
Greg Burkett

这确实有效。\ alias \ phpmyadmin.conf文件会覆盖conf.inc.php文件,该文件位于app \ phpmyadmin目录中
gogagubi

1

上述答案都没有为我解决。

我什至在我的xampp-ubuntu中也找不到'libraries'文件夹。

因此,我只是使用以下命令重新启动:

sudo service apache2 restart

sudo service mysql restart
  • 刚刚重新启动了apache和mysql。再次登录phpmyadmin,它照常工作。

谢谢我.. !!


0

我也遇到了这个问题,并尝试了在Web上发现的其他内存扩展技术,但遇到了更多麻烦。我决定使用MySQL控制台source命令,当然您不必担心phpMyAdmin或PHP的最大执行时间和限制。

句法: source c:\path\to\dump_file.sql

注意:最好指定转储文件的绝对路径,因为mysql工作目录可能未知。


-2

要增加phpMyAdmin会话超时,请在phpMyAdmin根目录中打开config.inc.php并添加此设置(任何位置)。

$cfg['LoginCookieValidity'] = <your_new_timeout>;

比1800大一些的地方。

注意:

始终牢记,对于开发服务器而言,较短的Cookie生命周期是一件好事。因此,请勿在生产服务器上执行此操作。

参考

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.