2012-04-02 2 views
19

Могу ли я установить директиву max_input_vars PHP.ini в свой код? Я установил его по умолчанию 1000, однако у меня есть скрипт, который имеет много флажков и текстовых полей, которые могли бы, и, вполне возможно, преодолеть предел 1000.настройка max_input_vars директива PHP.ini с использованием ini_set

Я использую PHP 5.3.10, и я не получаю никаких ошибок при этом. Кроме того, я не могу найти документацию, в которой говорится, что я не могу этого сделать.

ini_set('max_input_vars', 3000); 

Thanks.

+2

Возможный дубликат [PHP max \ _input \ _vars] (http://stackoverflow.com/questions/10303714/php-max -input-vars) –

ответ

45

max_input_vars имеет непостоянный режим PHP_INI_PERDIR означает, что он не может быть изменен с помощью ini_set (только в php.ini, .htaccess или httpd.conf)

+8

И главная причина в том, что директива уже вступила в силу, когда PHP-код начинает работать. –

+7

Для будущих читателей добавьте в свой .htaccess: php_value max_input_vars 3000 –

+0

@MichaelCalkins можно сделать 'php_value max_input_vars 3000' в .htaccess работать только для одного php-файла, а не для всех? – AldoB

2

Я знаю, что многие люди избегают доступа php.ini из-за одной из причин или другой. так что другим способом было бы создать файл .htaccess в рабочей папке и добавить следующие коды и установить значения более высокого значения. Просто добавьте их непосредственно не нужно инициализировать ничего в файле .htaccess

php_value max_input_vars 3000 
php_value suhosin.get.max_vars 3000 
php_value suhosin.post.max_vars 3000 
php_value suhosin.request.max_vars 3000 

Это решение работает для меня без доступа к файлу php.ini. поскольку некоторые из провайдеров веб-хостов дают нам трудное время, когда мы хотим получить доступ к файлу php.ini

Смежные вопросы