Подтвердить что ты не робот

Как увеличить максимальную переменную POST в PHP?

Я использую WAMP на своей локальной машине, когда отправляется FORM (method = "POST" ) с 2000 полями ввода. Я могу читать только 1001 _POST. i. С отладчиком Netbeans я могу ясно видеть, что размер _POST всегда 1001, если в форме больше 1001 полей ввода.

Я использовал этот http://ideone.com/GAw14 java-код для создания формы с N поля ввода и тестирования.

То же самое работает на другой машине (WAMP), где я могу видеть все переменные POST.

Пожалуйста, помогите мне решить мою проблему.

4b9b3361

Ответ 1

В PHP 5.3.9 представлен параметр конфигурации max_input_vars, значение которого по умолчанию равно 1000. Ознакомьтесь с Конфигурация времени выполнения раздела руководство по PHP. Значение по умолчанию и журнал изменений находятся в верхней части страницы.

Значение можно изменить, обновив сервер php.ini, добавив файл .htaccess или добавив строку в httpd.conf.

Ответ 2

Если вы используете Suhosin с закаленным PHP, вы можете получить максимальный предел переменных, который он налагает. В php.ini вы можете просто добавить

[suhosin]
suhosin.request.max_vars = 1000
suhosin.post.max_vars = 1000

сменив 1000 на все, что вам нужно, и перезапустите веб-сервер.

Я столкнулся с этим на странице разрешений Drupal, когда было установлено много модулей с большим количеством ролей, что привело к тонне флажков. Он сохранил бы определенное количество из них до того, как что-то после этого просто проигнорировалось.

Похоже, что это, вероятно, не ваша проблема, но поскольку это довольно вероятно, что кто-то в будущем может наткнуться на это при поиске чего-то связанного, я пойду вперед и брошу это, поскольку мне потребовались возрасты, чтобы понять, когда Я был в тупике.

Ответ 3

Я решил свои $_POST max input -problem, добавив следующее в php.ini:

max_input_vars = 5000
suhosin.request.max_vars = 5000
suhosin.post.max_vars = 5000

Обратите внимание также на suhosin.request.max_vars.

Ответ 4

Я решил эту проблему. Откройте файл конфигурации PHP.INI и добавьте эти строки

[Suhosin]

suhosin.post.max_vars = 20000

suhosin.request.max_vars = 20000

Ответ 5

Я подозреваю, что проблема связана с количеством данных, поступающих с вашим запросом POST. Нет установки, которая ограничивает количество $_POST vars, которое может быть установлено. Однако для данных POST есть ограничение памяти, которое по умолчанию составляет 8 МБ.

В файле php.ini попробуйте изменить значение post_max_size и установите для него более высокое значение. Не забудьте перезапустить apache после внесения изменений.