Предел аргументов POST в html или php

существует ли какой-либо предел аргументов POST? У меня есть ситуация, когда на dev-сервере моя форма с более чем 520 args размещена и сохранена без проблем, где на производстве env сохраняет только до 499 аргументов …

Есть идеи?

Related of "Предел аргументов POST в html или php"

Я не думаю, что существует ограничение на количество переменных, отправленных через POST, только по их накопленному размеру . Предел варьируется от сервера к серверу.

Обновление: Исчерпывающий патч Suhosin PHP может фактически наложить ограничение на количество переменных запроса. Значение по умолчанию – 200. Suhosin устанавливается по умолчанию на Ubuntu, поэтому это может быть причиной вашей проблемы. Информация любезно предоставлена ​​@ Паскалем Мартином, ура!

Для ограничения максимального размера POST существует два фактора:

  • Настройка PHP post_max_size
  • Косвенно также устанавливается PHP-параметр max_input_vars

Вы можете узнать его значение, используя phpinfo() .

И ограничения веб-сервера:

  • LimitRequestBody в Apache
  • MaxClientRequestBuffer в IIS

В вашем конкретном случае вы можете захотеть добавить, какой сервер вы используете, и насколько велики данные. Являются ли аргументы 520 ближе к post_max_size ? Что произойдет, если вы выполните print_r($_REQUEST) в сценарии получения?

Кроме того, в файле PNP.INI есть параметр:

 max_input_vars 

который в моей версии PHP: 5.4.16 по умолчанию – 1000.

Из руководства: «Сколько входных переменных может быть принято (ограничение применяется к $ _GET, $ _POST и $ _COOKIE суперглобальным отдельно)"

Ref .: http://www.php.net/manual/en/info.configuration.php#ini.max-input-vars

Да, это контролируется директивой post_max_size , которая по умолчанию равна 8M.

Количество аргументов не имеет значения, но вы, вероятно, превысите предел в своей продукции.

Вы можете запустить ini_get ('post_max_size') в обеих средах, чтобы увидеть, есть ли разница.

Вы не можете изменить его из ini_set, однако можно изменить директиву из .htaccess.

Я думаю, что ограничение POST – это то, что настроено в php.ini (по умолчанию 8M?)

Вам необходимо увеличить POST_MAX_SIZE в php.ini (или использовать ini_set () на странице).

http://uk.php.net/manual/en/ini.core.php#ini.post-max-size