Ошибка ПРИ ЗАГРУЗКЕ Ошибка РАЗМЕРА 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.
1 answers
Хорошо, я разобрался, что здесь происходит, и, надеюсь, это спасет кого-то еще от того, чтобы рвать на себе волосы. Диск, на котором находилась корневая файловая система, включая /tmp
, был заполнен из-за заполнения журнала (5,5 ГБ). Корневой веб-каталог находится на другом диске, на котором было достаточно места.
Я могу только предположить, что ошибка при записи в /tmp
вызывает ошибку UPLOAD_ERR_INI_SIZE
. Как только я освободил место на диске в корневой файловой системе, загрузка сработала в первый раз.