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 и не может быть изменен?

600   10  
PHP

10 ответов:

вы можете добавить его в php.ini и он должен работать-просто протестировал его на PHP 5.3.6.

ссылка на 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

  1. раскомментировать код в /etc/php/7.0/fpm/php.ini и установить номер, как вы хотите
    max_input_vars = 4000
  2. перезапустите службу 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_value max_input_vars 6000

" поставь эту линию .htaccess файл вашего сайта. "

да, добавьте его в php.ini, перезагрузите apache, и он должен работать.

вы можете проверить его на лету, если вы хотите с ini_set("max_input_vars",100)

Comments

    Ничего не найдено.