Ошибка ПРИ ЗАГРУЗКЕ Ошибка РАЗМЕРА INI, но значения максимального размера и максимального размера файла выглядят правильно


Я пытаюсь загрузить файл, который составляет 17569997 байт (~16,7 МБ).

При выполнении проверки ошибок в моем скрипте я проверяю $_FILES['file']['error'], значение которого равно 1 (UPLOAD_ERR_INI_SIZE - Загруженный файл превышает директиву upload_max_filesize в php.ini).

Обнаружив эту ошибку, я var_dumping вывожу некоторые значения и вызываю phpinfo() просто для того, чтобы попытаться выяснить, что не так. Значения, связанные с этой ошибкой, следующие:

post_max_size 34M
upload_max_filesize 32M
max_file_uploads 20
memory_limit 128M

Поскольку $_FILES фактически заполнен, нет проблема с post_max_size. $_SERVER['CONTENT_LENGTH'] показывает 17570308 что кажется правильным для публикации файла + остальной части формы. Сервер работает PHP 5.3.10 на Ubuntu.

Author: elavarasan lee, 2013-05-09

1 answers

Хорошо, я разобрался, что здесь происходит, и, надеюсь, это спасет кого-то еще от того, чтобы рвать на себе волосы. Диск, на котором находилась корневая файловая система, включая /tmp, был заполнен из-за заполнения журнала (5,5 ГБ). Корневой веб-каталог находится на другом диске, на котором было достаточно места.

Я могу только предположить, что ошибка при записи в /tmp вызывает ошибку UPLOAD_ERR_INI_SIZE. Как только я освободил место на диске в корневой файловой системе, загрузка сработала в первый раз.

 3
Author: Barrie, 2013-05-10 14:51:47