PHP max input vars
Я max_input_vars сообщение об ошибке.
Я понимаю php.ini настройка, которая может изменить это, начиная с версии 5.3.9 однако, я использую версию 5.1.6.
когда я просматриваю информацию о конфигурации для моего сервера 5.1.6, он показывает max_input_vars значение-1000.
мой вопрос: несмотря на то, что я запускаю 5.1.6, я вижу этот параметр из phpinfo() но это не в . Означает ли это, что значение жестко закодировано в этой версии PHP и не может быть изменен?
10 ответов:
ссылка на PHP net:
http://php.net/manual/en/info.configuration.php#ini.max-input-vars
обратите внимание, вы не можете установить эту директиву во время выполнения с помощью функции
ini_set(name, newValue), например,ini_set('max_input_vars', 3000);Он не будет работать.
как поясняется в документации, эта директива может быть установлена только в рамках каталога, то есть через .файл htaccess, httpd.conf или .пользователь.ini (начиная с PHP 5.3).
посмотреть http://php.net/manual/en/configuration.changes.modes.php
добавление директивы в PHP.ini или размещение следующих строк .реврайт будет работать:
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
только что пытались это исправить с 5.3.3 и нет никаких изменений. Погуглив вокруг я нашел эту веб-страницу http://anothersysadmin.wordpress.com/2012/02/16/php-5-3-max_input_vars-and-big-forms/ детализация других настроек, которые необходимо изменить Если ваш сервер использует патч Suhosin который Apache под Debian делает.
сайт объясняет:
поэтому, если вы хотите увеличить это число до, скажем, 3000 от дефолта номер 1000, вы должны положить в свой php.ini эти строки:
max_input_vars = 3000 сухосин.должность.max_vars = 3000 сухосин.запрос.max_vars = 3000
Я проверил его (добавлены настройки php.Ини как в /etc/версия php5/apache2 и /И/и php5/cli, а также успешно перезапустить Apache), но до сих пор нет max_input_vars переменной в функцию phpinfo.
несколько сайтов указывают на PHP 5.3.9 в качестве первой версии PHP, в которой это изменение будет происходить, поэтому моя ошибка в том, что RTM не правильно во-первых, хотя мне интересно видеть, как люди сообщают об этом, работая в версии выше 5.3.3, но ниже 5.3.9.
вам нужно раскомментировать значение max_input_vars в php.ini-файл и увеличить его (exp. 2000), также не забудьте перезагрузить сервер, это поможет на 99,99%.
использование этой директивы уменьшает вероятность атак типа "отказ в обслуживании", которые используют хэш-коллизии. Если входных переменных больше, чем указано в этой директиве, выдается предупреждение E_, и дальнейшие входные переменные усекаются из запроса.
Я могу предложить не расширять значение по умолчанию, которое равно 1000, а расширить функциональность приложения путем сериализации запроса или отправки запроса блоками. В противном случае вы можете расширить это до конфигурации необходимый.
Это определенно нужно настроить в php.ini
сейчас 2018 год.И я просто застрял на этой проблеме, когда я должен отправить запрос, который превышает
max_input_vars. И я придумал решение, что новичок вроде меня забыл перезапустить php fpm service после измененияmax_input_varsпарам. потому что я только пытался перезапуститьapache2сервис, но не php fpm
- раскомментировать код в
/etc/php/7.0/fpm/php.iniи установить номер, как вы хотитеmax_input_vars = 4000- перезапустите службу php fpm, так как я использую php 7. Таким образом,
sudo service php7.0-fpm restart
надеюсь, что это помогает
Проверено наDebian Stretch,php7.0
обратите внимание, что вы должны поместить это в файл ".пользователь.ini "в Centos7, а не" php.ini", который раньше работал в Centos6. Вы можете поставить".пользователь.ini " в любом подкаталоге, чтобы повлиять только на этот каталог.
.пользователь.ini:
max_input_vars = 3000протестировано на Centos7 и PHP 5.6.33.
новый блок Cpanels, чтобы увидеть .файл htaccess или если вы добавляете .пользователь.ini вы не сможете его увидеть. но с небольшим взломом вы можете заставить его работать. Отредактируйте, например, wp-config.php и в строке URL замените wp-config.php by .htaccess теперь вы можете вставить значения и сохранить его. Введите описание изображения здесь
да, добавьте его в php.ini, перезагрузите apache, и он должен работать.
вы можете проверить его на лету, если вы хотите с
ini_set("max_input_vars",100)
Comments