Объект Запроса Слишком Велик
Я получаю это сообщение,
Request Entity Too Large
The requested resource
/index.php
does not allow request data with POST requests, or the amount of data provided in the request exceeds the capacity limit.
Я установил
php_value post_max_size 50M
php_value upload_max_filesize 50M
В .htaccess
но не помогло
Как это преодолеть?
Спасибо
4 answers
После того, как вы закончите повышение PHP memory_limit
, post_max_size
и upload_max_filesize
, Я хотел бы порекомендовать вам несколько статей, связанных с этой темой, возможно, одна из них решит проблему.
Я нашел это сообщение на сервере Fault:
https://serverfault.com/questions/79741/php-apache-post-limit/79745#79745
Sybreon предлагает перепроверить
Content-Length
и - цитируя - "убедитесь, что вы напрямую подключаетесь к Apache, а не через прокси-сервер или обратный прокси-сервер. Некоторые обратные прокси-серверы устанавливают ограничение на максимальный размер запроса в качестве своего рода меры безопасности. Таким образом, вы можете проверить это, а также ваши журналы Apache, чтобы убедиться, что больше ничего не происходит."-
Sybreon также опубликовал эту ссылку: Проблемы с ошибками Apache 413.
Следующее применимо только в том случае, если у вас включен модуль mod_ssl в Apache. (В противном случае этот параметр может вызвать сбой сервера.)
Цитирование статьи:
" Я использовал клиентские сертификаты SSL Apache, которые имеют ограничение в 128 КБ, и если потребуется повторное согласование, более крупная публикация завершится неудачей.
В этой публикации Bugzilla были подсказки - вы должны установить следующие значения по УМОЛЧАНИЮ для вашего SSL-сервера, а не только для каталога.SSLVerifyClient require
В противном случае это приведет к какому-либо пересмотру условий и завершится с ошибкой 413."
Предыдущая статья также упоминалось о Тело предельного запроса директива.
Парень говорит здесь, что соответствующая настройка этой директивы решила его проблему..
Я надеюсь, что одна из этих настроек решит эту проблему!
Единственное, что могло бы сработать для меня, - это настроить размер буфера SSL. Вы можете установить это с помощью...
<Directory /my/blah/blah>
...
# Set this to something big...
SSLRenegBufferSize 10486000
...
</Directory>
...а затем просто перезапустите Apache, чтобы изменения вступили в силу. (Нашел это по адресу: http://forum.joomla.org/viewtopic.php?p=2085574)
Мой сервер - Apache. Это был модуль mod_security, который предотвращал публикацию больших данных размером примерно 171 КБ. Я сделал следующие конфигурации в mod_security.conf
SecRequestBodyNoFilesLimit 10486000
SecRequestBodyInMemoryLimit 10486000
Если заданы значения max_post_upload и max_file_upload в PHP, и в файлах конфигурации Apache2.conf или modsec задан достаточно высокий параметр LimitRequestBody
Тогда, возможно, будет работать файл .htaccess.
- Перейдите в каталог с загруженным php-файлом в нем (файл или страница, выдающая ошибку.)
2 . Создать или отредактировать .htaccess
3 . Отредактируйте или создайте строку с LimitRequestBody 20971520 в нем.
Сохраните файл .htaccess. Установите разрешения. (644 и владелец apache)
Возможно, перезапустить apache.
Тада. Надеюсь, исправлено.
Этот параметр устанавливает ограничение только для этой папки - это один из способов избежать глобальных настроек в php и apache, которые делают вас открытыми для больших пакетов/загрузочных DOS-атак.
LimitRequestBody 0 дает вам неограниченное количество загрузок.