带有大 SQL 导入错误的 PhpMyAdmin 超时
Posted
技术标签:
【中文标题】带有大 SQL 导入错误的 PhpMyAdmin 超时【英文标题】:PhpMyAdmin timeout with large SQL import error 【发布时间】:2011-10-25 22:07:24 【问题描述】:当我尝试将一个大(5000 行)的 sql 文件粘贴到 phpMyAdmin 时,我得到了这个错误?我知道我可以使用上传,但是在我的旧版本的 PhpMyAdmin 上,这曾经可以正常工作。
ALERT - configured request variable value length limit exceeded - dropped variable
'sql_query' (attacker '111.171.123.123', file '/usr/share/apache2/phpmyadmin/import.php'),
referer: https://example.co.uk/phpmyadmin/db_sql.php?db=test&server=1&
token=0f355f8bbc6fc09d5c512e0409e9cac9&db_query_force=1
我已经尝试过更改$cfg['ExecTimeLimit'] = 0;
php.ini
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
; Maximum execution time of each script, in seconds
max_execution_time = 120
; Maximum amount of time each script may spend parsing request data
max_input_time = 60
;max_input_nesting_level = 64 ; Maximum input variable nesting level
;Maximum amount of memory a script may consume (128MB)
memory_limit = 100M
【问题讨论】:
如果您要导入一些备份,请尝试使用命令行界面导入文件。 好的,但我不经常在命令行上工作,而且我总是用 PhpMyAdmin 打开浏览器,所以这对我来说容易多了。 【参考方案1】:就我而言,这条消息意味着Suhosin(PHP 的安全补丁)因其长度而阻止了您的请求。在不更改 Suhosin 配置的情况下解决问题的最简单方法 - 将具有相同 SQL 语句的文件导入 PHPMyAdmin(它允许上传文件以进行导入)。
所以基本上你只需要创建一个简单的文本文件,将相同的 SQL 语句粘贴到其中,然后将该文件上传到 PHPMyAdmin——它具有用于此类导入的相应页面。
【讨论】:
【参考方案2】:如果您真的想使用 PhpMyAdmin,请尝试使用 3.4.3.2 或更高版本,因为我不确定您的版本是否有此功能
部分导入 如果脚本检测到它接近 PHP 超时限制,则允许中断导入。 (这可能是导入大文件的好方法,但它可能会破坏事务。)
http://www.phpmyadmin.net/home_page/index.php
希望对你有帮助。
【讨论】:
以上是关于带有大 SQL 导入错误的 PhpMyAdmin 超时的主要内容,如果未能解决你的问题,请参考以下文章
将 sql.zip 文件导入 phpmyadmin 时出现内存大小错误
phpMyAdmin 导入错误 #1064 “您的 Sql 语法有错误”