Назад | Перейти на главную страницу

HTTP-пост случайно вырезан (начинается с загадочной ошибки 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_vars до 10 000, а затем до 100 000; Я увеличил memory_limit до 512M, max_upload_size до 100М и т. д. и т. д.

Для устранения проблемы я заменил 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 отключен

Я не использую суошин.

Все ограничения проверены 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 случайно вырезан

У меня была точно такая же проблема.

С первого же уведомления вы могли заметить, что проблема с output_format, Так почему-то выбранный выходной формат не попал в массив.

Я поигрался с ним, проверяя View output as text переключатель, а затем проверьте Save output to a file кнопку, а после этого и нажав кнопку go кнопку он экспортировал хорошо.