这是我见过的最奇怪的错误。
我在使用 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_vars
10,000,后来又增加到 100,000;我将其增加到memory_limit
512M,将其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
它就可以很好地导出了。