HTTP Post 随机中断(以 PhpMyAdmin 神秘错误开始)

HTTP Post 随机中断(以 PhpMyAdmin 神秘错误开始)

这是我见过的最奇怪的错误。

我在使用 PhpMyAdmin 时遇到了问题。当我尝试导出数据库时,我得到的是一个带有错误消息的 HTML 文件,而不是一个 SQL 文件。消息如下:

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; 

Notice in ./export.php#225
 Undefined index: output_format

Backtrace

Notice in ./export.php#239
 Undefined index: compression

Backtrace

Notice in ./export.php#340
 Undefined variable: filename_template

Backtrace

Notice in ./export.php#416
 Undefined index: sql_structure_or_data

Backtrace

Notice in ./libraries/export.lib.php#613
 Undefined index: sql_structure_or_data

之后我增加到max_input_vars10,000,后来又增加到 100,000;我将​​其增加到memory_limit512M,将其max_upload_size增加到 100M 等等,等等。

为了调试该问题,我将 PhpMyAdmin 替换export.php为简单的:

<php
   echo file_get_contents("php://input");

我注意到 POST 确实被截断了,但我看不出原因或如何发生。

"POST /pma/export.php HTTP/1.1" 200 1795 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0"
"POST /pma/export.php HTTP/1.1" 200 1795 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0"
"POST /pma/export.php HTTP/1.1" 200 6032 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0"
"POST /pma/export.php HTTP/1.1" 200 382 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0"
"POST /pma/export.php HTTP/1.1" 200 1795 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0"
"POST /pma/export.php HTTP/1.1" 200 4620 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0"
"POST /pma/export.php HTTP/1.1" 200 1795 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0"
"POST /pma/export.php HTTP/1.1" 200 1795 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0"
"POST /pma/export.php HTTP/1.1" 200 8402 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0"

Apache2 安全模块已禁用

我不使用 suoshin。

所有限制均已检查phpmyinfo,并且所有限制都远超出合理限制。

刷新几次后(按 F5,确认重新发送),我注意到截断的大小经常变化:有时多,有时少。传递的帖子大小是变化的,并且不依赖于任何东西。我重新启动了服务器。

PHP version is: 5.6.30-0+deb8u1

加载apache2模块:

core mod_so mod_watchdog http_core mod_log_config mod_logio mod_version mod_unixd mod_access_compat mod_alias mod_auth_basic mod_authn_core mod_authn_file mod_authz_core mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_deflate mod_dir mod_env mod_filter mod_mime prefork mod_negotiation mod_perl sapi_apache2 mod_reqtimeout mod_rewrite mod_setenvif mod_status

Apache2 版本:Apache/2.4.10 (Debian)

系统是最新的,PhpMyAdmin 也是最新的(刚从官方网站下载的)。服务器有充足的可用内存,没有内存错误。没有其他错误。唯一的问题是“大”帖子请求无法正常工作。错误日志不包含任何相关信息。

另请参阅有关此错误的视频:YouTube:HTTP POST 随机剪切

答案1

我有同样的问题。

您首先就会发现存在问题output_format,因此所选的输出格式无法进入数组。

我尝试了一下,检查View output as text单选按钮,然后再检查Save output to a file按钮,完成后按下按钮,go它就可以很好地导出了。

相关内容