Ошибка загрузки PHP (пусто $ _FILES) - PullRequest
2 голосов
/ 17 января 2011

У меня есть общая проблема в PHP: мой массив $ _FILES пуст, когда файлы слишком велики.

php.ini:

max_execution_time = 300000
max_input_time = 600000000
memory_limit = 5100MB
post_max_size = 5000MB
upload_max_filesize = 5000MB

Файл:

Trouve.tar : 910Mo

Значения конфигурации огромны, но я хочу быть уверен, что у скрипта есть время и память для загрузки.

Итак, разрешенный размер больше, чем размер файла, но у меня та же ошибка, что и у других людей (например, проблема с загрузкой изображений с загрузкой php файла для примера)

Я пропустил некоторые настройки?

Ответы [ 4 ]

6 голосов
/ 03 февраля 2011

Проблема в том, что ваш post_max_size имеет тот же размер, что и upload_max_filesize , что приведет к тому, что массив $ _FILES (и $ _POST) будет пустым. Если вы увеличите ограничение на post_max_size, массив $ _FILES больше не будет пустым.

РЕДАКТИРОВАТЬ: Не уверен, почему голосование против. Хотя это может не относиться точно в этом случае, стоит упомянуть. Это именно то, что говорит php.net: http://www.php.net/manual/en/ini.core.php#ini.post-max-size.

Если размер почтовых данных больше чем post_max_size, $ _POST и Суперглобальные переменные $ _FILES пусты.

3 голосов
/ 03 февраля 2012

Вместо МБ используйте M

memory_limit = 5100M

post_max_size = 5000M

upload_max_filesize = 5000M
3 голосов
/ 20 января 2011

Проверьте upload_limit в настройках php.ini.

В теге html form не забудьте добавить следующее: enctype="multipart/form-data"

1 голос
/ 17 января 2011

Проверьте ограничения вашего веб-сервера в дополнение к конфигурации php.ini.

Например, вам, вероятно, придется увеличить LimitRequestBody, если вы используете Apache илиclient_max_body_size, если вы используете nginx.

Когда HTTP-запрос превышает ограничение, принятое веб-сервером, он возвращает HTTP-ответ со статусом: 413 Request Entity TooБольшой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...