Как увеличить максимальную переменную POST в PHP?
Я использую WAMP на своей локальной машине, когда отправляется FORM (method = "POST" ) с 2000 полями ввода. Я могу читать только 1001 _POST. i. С отладчиком Netbeans я могу ясно видеть, что размер _POST всегда 1001, если в форме больше 1001 полей ввода.
Я использовал этот http://ideone.com/GAw14 java-код для создания формы с N поля ввода и тестирования.
То же самое работает на другой машине (WAMP), где я могу видеть все переменные POST.
Пожалуйста, помогите мне решить мою проблему.
Ответы
Ответ 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 после внесения изменений.