php — Увеличение максимального размера поста
спросил
Изменено 5 месяцев назад
Просмотрено 310 тысяч раз
Отправляется много данных, файлы не загружаются, и $_SERVER['CONTENT_LENGTH']
превышено. Можно ли это увеличить?
- php
- апач
3
Его можно установить в двух разных местах:
php.ini
post_max_size=20M upload_max_filesize=20M
.htaccess/httpd.conf/virtualhost включает
php_value post_max_size 20M php_value upload_max_filesize 20M
Какой из них использовать, зависит от того, к чему у вас есть доступ.
.htaccess не потребует перезагрузки сервера, но php. ini и другие файлы conf apache потребуют.
3
У меня была ситуация, когда в POST пропали переменные и все вышеперечисленные ответы не помогли. Оказалось, что
max_input_vars=1000
было установлено по умолчанию, а рассматриваемый POST имел нечто большее. Это может быть проблемой.
3
; Максимально допустимый размер загружаемых файлов. upload_max_filesize = 40M ; Должно быть больше или равно upload_max_filesize post_max_size = 40M
Вы можете сделать это с помощью .htaccess:
php_value upload_max_filesize 20M php_value post_max_size 20M
Мы можем увеличить максимальный лимит, используя файл
.
php_value session.gc_maxlifetime 10800 php_value max_input_time 10800 php_value max_execution_time 10800 php_value upload_max_filesize 110M php_value post_max_size 120M
Если иногда другой способ не работает, этот способ работает идеально.
Вы можете увеличить это значение в php.ini
; Максимально допустимый размер загружаемых файлов. upload_max_filesize = 2M
Я сталкивался с похожей проблемой при загрузке больших файлов, теперь у меня все работает нормально:
safe_mode = off максимальное_входное_время = 9000 memory_limit = 1073741824 post_max_size = 1073741824 file_uploads = Вкл. upload_max_filesize = 1073741824 max_file_uploads = 100 allow_url_fopen = Вкл.
Надеюсь, это поможет.
Вы можете указать как максимальный размер сообщения, так и максимальный размер файла в php.ini
post_max_size = 64M upload_max_filesize = 64M
0
Попробуйте
LimitRequestBody 1024000000
php.ini
Измените настройку max_input_vars с 1000 по умолчанию на 10000 для достаточного количества данных JSON.
max_input_vars=10000
Добавьте только следующие 3 строки в файл . htaccess
, который имеет номер в корневой папке проекта.
php_value memory_limit 500M php_value post_max_size 500M php_value upload_max_filesize 500M
Полностью поможет вам в решении вашей проблемы.
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Требуется, но никогда не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
php — Каков предельный размер почтового запроса?
спросил
Изменено 2 года, 9 месяцев назад
Просмотрено 455 тысяч раз
Извините, если это дубликат, я так и думал, но ничего не нашел.
У меня есть гибкое приложение, которое я отправляю данные обратно на сервер php/mysql через IE. Я еще не сталкивался с какими-либо проблемами, но знание этого заранее может избавить меня от разочарования и работы. Есть ли ограничение по размеру для публикации данных через http?
В этой статье нет: http://www.netlobo.com/ie_form_submit.html
Это обсуждение говорит да: http://bytes.com/topic/php/answers/538226-what-maximum-limit-using-post-method
И все это идет вперед и назад, что я могу найти в Интернете. Итак, пожалуйста, ограничьте ответы лично проверенными/проверенными номерами.
Я хочу отправить строку XML, которая может быть довольно большой (скажем, до 5 МБ).
Если это имеет какое-то значение: браузер всегда будет IE (это требуется для нашего продукта), сообщения приходят из httpService в flex, веб-сервер — php, БД — mySql.
- php
- интернет-эксплорер
- http
- пост
2
Зависит от конфигурации сервера. Если вы работаете с PHP под Linux или подобным, вы можете управлять им с помощью файла конфигурации .htaccess, например:
#set max post size php_value post_max_size 20M
И да, я лично могу подтвердить, что это работает 🙂
Если вы используете IIS, я понятия не имею, как установить это конкретное значение.
13
Часть URL-адреса запроса (GET и POST) может быть ограничена как браузером, так и сервером — обычно безопасный размер составляет 2 КБ, поскольку почти нет браузеров или серверов, которые используют меньшее ограничение.
Тело запроса (POST) обычно* ограничивается сервером по размеру байта, чтобы предотвратить тип DoS-атаки (обратите внимание, что это означает, что экранирование символов может увеличить размер тела в байтах). Наиболее распространенная настройка сервера — 10 МБ, хотя все популярные серверы позволяют увеличивать или уменьшать ее с помощью файла настроек или панели.
* Некоторые исключения существуют для старых браузеров мобильных телефонов или других небольших устройств — в этих случаях это больше функция кучи, зарезервированной для этой цели на устройстве, чем что-либо еще.
2
Также в файле PHP.INI есть настройка:
max_input_vars
, который в моей версии PHP: 5.4.16 по умолчанию равен 1000.
Из руководства: «Сколько входных переменных может быть принято (ограничение применяется к суперглобальным $_GET, $_POST и $_COOKIE отдельно)»
Ссылка: http://www.php.net/manual/en/info.configuration.php#ini.max-input-vars
1
Вы можете опубликовать большой объем данных, установив переменную php.ini:
Размер этой переменной по умолчанию — 1000, но если вы хотите отправить большой объем данных, вы должны соответственно увеличить размер.
Если вы не можете установить размер из ini_set, вы должны сделать это через htaccess
или внести изменения напрямую в файл php. ini.
max_input_vars 2500 memory_limit 256M
Как заметил Дэвид, в большинстве случаев я бы выбрал КБ.
php_value post_max_size 2K
Примечание: моя форма простая, всего несколько текстовых полей, не длинный текст.
(сокращение PHP для КБ — K, как описано здесь.)
По умолчанию почтовый запрос имеет максимальный размер 8 МБ. Но вы можете изменить его в соответствии с вашими требованиями. Модификацию можно выполнить, открыв файл php.ini (настройка конфигурации php).
Find
post_max_size=8M //для меня это было в строке:771
замените 8 в соответствии с вашими требованиями.
Одно из лучших решений для этого, вы не используете несколько или более 1000 полей ввода. Вы можете объединить несколько входов с любым специальным символом, например. @
.
Смотрите это:
<тип ввода='текст' имя='hs2'> <тип ввода='текст' имя='hs3'><тип ввода='текст' имя='hs4'> <тип ввода='текст' имя='hs5'> <тип ввода='скрытое' имя='hd'>
Использование любого скрипта (JavaScript или JScript),
document. getElementById("hd").value = document.getElementById("hs1").value+"@"+document.getElementById("hs2").value+"@ "+document.getElementById("hs3").value+"@"+document.getElementById("hs4").value+"@"+document.getElementById("hs5").value
С этим вы обойдете проблему max_input_vars
. Если вы увеличите max_input_vars
в файле php.ini, это навредит серверу, поскольку использует больше кэш-памяти сервера, и иногда это может привести к сбою сервера.
3
http-сервер должен решить, существует ли ограничение. Продукт, над которым я работаю, позволяет администратору настраивать лимит.
1
Для разработчиков, которые не могут изменить конфигурацию php из-за веб-хостинга. (Мои настройки: максимальный размер 256 МБ, максимальное количество переменных: 1000)
У меня возникла та же проблема, что только 2 из 5 объектов больших данных (ассоциативных массивов) с подструктурами были получены на стороне сервера.