Если вы создаете или управляете сайтом WordPress и вдруг столкнулись с ошибкой:
“Warning: Max Input Vars limit reached”
или
“Увеличьте max_input_vars до большего значения”
…это означает, что ваш сервер блокирует обработку PHP слишком большого количества полей ввода – это часто наблюдается при сохранении больших меню, построителей страниц (например, Elementor или WPBakery) или форм отправки.
В этой продвинутой статье мы рассмотрим:
max_input_vars – это директива PHP, которая ограничивает количество входных переменных, которые может принимать PHP (через POST, GET и REQUEST). Это защищает сервер от атак типа “отказ в обслуживании”, но также влияет на легитимные операции в CMS-платформах.
Значение по умолчанию:
Если вы превысите этот лимит (например, при сохранении меню WordPress с 1000 пунктами), PHP прервет ввод, и WordPress молча не сможет сохранить все изменения.
Это самый чистый способ изменить max_input_vars, если вы используете свой собственный сервер:
Шаг 1: Найдите или создайте файл php.ini (зависит от сервера):
Замените 8.1 на вашу версию PHP.
Шаг 2: Найдите и отредактируйте директиву:
Шаг 3: Перезапустите ваш веб-сервер:
или
Если вы не можете получить доступ к php.ini, попробуйте отредактировать .htaccess в корне вашей установки WordPress:
⚠️ Это работает только в том случае, если включен mod_php. Некоторые хостеры используют вместо него PHP-FPM, и тогда этот метод не сработает.
WordPress не поддерживает переопределение max_input_vars, но в некоторых конфигурациях это может сработать:
Поместите его над строкой, в которой говорится:
Если вы используете виртуальный хостинг с cPanel:
✅ Работает мгновенно – перезагрузка не требуется.
Создайте или отредактируйте .user.ini в корневой папке WordPress:
Затем перезапустите PHP (или подождите 5 минут, если хост применяет изменения автоматически).
NGINX не использует .htaccess, поэтому настройте PHP через пул FPM или php.ini.
Отредактируйте /etc/php/8.1/fpm/php.ini:
Затем перезапустите:
Создайте файл phpinfo.php в корне WordPress:
Зайдите в него через браузер: https://yourdomain.com/phpinfo.php
Найдите max_input_vars и убедитесь, что он обновлен.
🧼 Не забудьте удалить файл после этого – он раскрывает конфиденциальную информацию о сервере.
Рекомендация | Причина |
---|---|
Не устанавливайте значение max_input_vars равным 999999 | Может привести к DoS-уязвимости |
Придерживайтесь значения 3000-5000 | Достаточно для больших меню/конструкторов страниц |
Следите за ограничением памяти | Большие значения входных параметров = большее использование памяти |
Используйте phpinfo() или ini_get() для отладки | Избегайте догадок |
Иногда эта проблема сопровождается превышением других лимитов:
Эти параметры также можно поместить в php.ini, .htaccess или .user.ini.
Ошибку max_input_vars легко пропустить, но она может нарушить работу критически важных функций WordPress. Увеличив этот лимит с помощью подходящего для вашего окружения метода, вы обеспечите стабильность сложных меню, многоязычного контента и конструкторов страниц с перетаскиванием.