【问题标题】:PhpMyAdmin timeout with large SQL import error带有大 SQL 导入错误的 PhpMyAdmin 超时
【发布时间】: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 打开浏览器,所以这对我来说容易多了。

标签: php phpmyadmin


【解决方案1】:

就我而言,这条消息意味着Suhosin(PHP 的安全补丁)因其长度而阻止了您的请求。在不更改 Suhosin 配置的情况下解决问题的最简单方法 - 将具有相同 SQL 语句的文件导入 PHPMyAdmin(它允许上传文件以进行导入)。

所以基本上你只需要创建一个简单的文本文件,将相同的 SQL 语句粘贴到其中,然后将该文件上传到 PHPMyAdmin——它具有用于此类导入的相应页面。

【讨论】:

    【解决方案2】:

    如果您真的想使用 PhpMyAdmin,请尝试使用 3.4.3.2 或更高版本,因为我不确定您的版本是否有此功能

    部分导入
    如果脚本检测到它接近 PHP 超时限制,则允许中断导入。 (这可能是导入大文件的好方法,但它可能会破坏事务。)

    http://www.phpmyadmin.net/home_page/index.php

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2016-08-09
      • 2022-01-01
      • 2015-08-07
      • 2015-02-21
      • 2016-02-05
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 2023-03-20
      相关资源
      最近更新 更多