Я получаю max_input_vars
сообщение об ошибке.
Я понимаю, что есть php.ini
параметр, который может изменить это, начиная с версии 5.3.9, однако я использую версию 5.1.6.
Когда я просматриваю информацию о конфигурации своего сервера 5.1.6, он показывает max_input_vars
значение 1000.
У меня вопрос: хотя я использую 5.1.6, я вижу этот параметр, phpinfo()
но его нет в php.ini
файле. Означает ли это, что значение жестко запрограммировано в этой версии PHP и не может быть изменено?
max_input_vars
на них в исходном коде PHP 5.1.6, поэтому я не уверен, как вы видите это в выводе phpinfo (). Насколько я знаю, до 5.3.9 его не было ...5.1.6 -> 5.3.3
, а затем возврата на5.1.6
. Выкинул меня, потому что такой опции нет в5.1.6
php.ini
файле. Я добавил строку, увеличил число, и моя ошибка / проблема исчезла.Ответы:
Вы можете добавить его в php.ini, и он должен работать - просто протестировал его на PHP 5.3.6.
источник
Ссылка в сети PHP:
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 или .user.ini (начиная с PHP 5.3).
См. Http://php.net/manual/en/configuration.changes.modes.php
Добавление директивы в php.ini или размещение следующих строк в .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
источник
max_input_vars = 3000
(+ знак равенства).Только что попробовали это исправить с помощью 5.3.3, и нет никаких изменений. Погуглил, я нашел эту веб-страницу http://anothersysadmin.wordpress.com/2012/02/16/php-5-3-max_input_vars-and-big-forms/ с подробным описанием других настроек, которые необходимо изменить, если ваш сервер использует патч Suhosin что делает Apache под Debian.
На сайте поясняется:
Я протестировал его (добавил настройки в php.ini как в / etc / php5 / apache2, так и в / etc / 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%.
источник
sudo service apache2 restart
. Мне нужно перезапустить Ubuntu?;
и изменил значение на 3000. Вероятно, проблема заключалась в кеше браузера. Закрыл PHPMyAdmin и открыл в новой вкладке, и теперь он работает. Благодаря!Сейчас 2018 год, и я просто застрял на этой проблеме, когда мне нужно отправить запрос, превышающий
max_input_vars
. И я придумал решение, которое новичок, как я, забыл перезапустить службу php fpm после измененияmax_input_vars
параметра. потому что я только пытался перезапуститьapache2
службу, но не php fpm/etc/php/7.0/fpm/php.ini
и установите номер по своему желаниюmax_input_vars = 4000
sudo service php7.0-fpm restart
Надеюсь, это поможет
протестировать
Debian Stretch
,php7.0
источник
Использование этой директивы снижает вероятность атак типа "отказ в обслуживании", которые используют хеш-коллизии. Если имеется больше входных переменных, чем указано в этой директиве, выдается E_WARNING, и дальнейшие входные переменные усекаются из запроса.
Я могу предложить не расширять значение по умолчанию, равное 1000, и расширить функциональность приложения путем сериализации запроса или отправки запроса по блокам. В противном случае вы можете расширить это до необходимой конфигурации.
Его обязательно нужно настроить в php.ini
источник
Обратите внимание, что вы должны поместить это в файл «.user.ini» в Centos7, а не в «php.ini», который раньше работал в Centos6. Вы можете поместить ".user.ini" в любой подкаталог, чтобы воздействовать только на этот каталог.
.user.ini:
max_input_vars = 3000
Протестировано на Centos7 и PHP 5.6.33.
источник
php_value max_input_vars 6000
«Поместите эту строку в файл .htaccess вашего сайта».
источник
Новый блок Cpanels для просмотра файла .htaccess или если вы добавите .user.ini, вы не сможете его увидеть. но с небольшим взломом вы можете заставить его работать. Отредактируйте, например, wp-config.php и в строке URL замените wp-config.php на .htaccess, теперь вы можете вставить значения и сохранить их. введите описание изображения здесь
источник
Просто была такая же проблема с добавлением пунктов меню в Wordpress. Я использую Wordpress 4.9.9 на Ubuntu 18.04, PHP 7.0. Я просто раскомментировал следующую строку и увеличил ее до 1500 в
/etc/php/7.0/apache2/php.ini
; How many GET/POST/COOKIE input variables may be accepted<br> max_input_vars = 1500
Затем применили следующее для изменения:
sudo apache2ctl configtest #(if it does not return ok Apache will not start) sudo service apache2 reload
Надеюсь, это поможет.
источник
"Сообщение PHP: Предупреждение PHP: Неизвестно: Входные переменные превысили 1000. Чтобы увеличить лимит, измените max_input_vars в php.ini.
Этот параметр конфигурации php max_input_vars будет влиять не только на ваши параметры GET / POST / COOKIES, он также контролирует любой ввод формы.
Чтобы установить или изменить его значение, выполните следующие действия.
1) проверьте существующий параметр / значение, просмотрев его в файле php.ini. Найдите файл php.ini с помощью
<?php echo getinfo(); ?>
найдите ниже ключ: Загруженный файл конфигурации: /etc/php/5.6/fpm/php.ini
2) Откройте файл php.ini в редактируемом режиме и выполните поиск max_input_vars. Эта строка может быть прокомментирована в существующей настройке по умолчанию со значением по умолчанию 1000, поэтому удалите; чтобы раскомментировать его и отредактировать, указав подходящее значение, например 2500.
3) Сохраните файл и перезапустите службы PHP, используя ниже
sudo service php5.6-fpm restart
Точно так же вы можете обновить любую другую аналогичную конфигурацию PHP для вашего удобства.
источник
Просто чтобы дополнить. На общем сервере с использованием mod_suphp у меня была такая же проблема.
Объявление 4 переменных max_input_vars (включая suhosin) не решило эту проблему, просто продолжалось усечение на 1000 переменных (по умолчанию), а объявление «php_value max_input_vars 6000» в .htaccess привело к ошибке 500.
Решением было добавить следующее в .htaccess, который рекурсивно применяет файл php.ini к этому пути
источник
Да, добавьте его в php.ini, перезапустите apache, и он должен работать.
Вы можете протестировать его на лету, если хотите, с
ini_set("max_input_vars",100)
источник