есть ли предел аргументов POST? У меня есть ситуация, где на dev сервере моя форма с более чем 520 args отправляется и сохраняется без проблем, где на производственном ENV это сохраняет только до 499 args...
Какие-либо идеи?
Я не думаю, что существует ограничение на число переменных, отправляемых через POST, только на их накопленный размер . Предел варьируется от сервера к серверу.
Обновление: Патч защиты PHP Suhosin может фактически накладывать ограничение на количество переменных запроса. По умолчанию
2001000. Suhosin установлен по умолчанию в Ubuntu, поэтому это может быть причиной вашей проблемы. Информация любезно предоставлена @Pascal Martin, ура!
Есть два фактора для ограничения максимального размера POST:
Вы можете узнать его значение, используя phpinfo ()
.
И ограничения веб-сервера:
В вашем конкретном случае вы можете добавить, на каком сервере вы это используете, и насколько велики данные. Близятся ли 520 аргументов к post_max_size
? Что произойдет, если вы выполните print_r ($ _ REQUEST)
в принимающем сценарии?
Да, это управляется директивой post_max_size , которая по умолчанию равна 8M.
Количество аргументов не имеет значения, но вы, вероятно, превысили лимит в своей продукции.
Вы можете запустить ini_get ('post_max_size') в обеих средах, чтобы увидеть, есть ли разница.
Вы не можете изменить его из ini_set, однако можно изменить директиву из .htaccess.
Я думаю, что ограничение POST независимо от того, что настроено в php.ini (8M по по умолчанию?)
Вам нужно увеличить POST_MAX_SIZE в php.ini (или используйте ini_set () на странице).