Якщо ви створюєте або керуєте сайтом на WordPress і раптом зіткнулися з такою помилкою:
“Попередження: 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:
<IfModule mod_php.c>
php_value max_input_vars 3000
</IfModule>
⚠️ Це працює тільки якщо увімкнено 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. Збільшуючи цей ліміт правильним для вашого середовища методом, ви забезпечуєте стабільність для складних меню, багатомовного контенту та конструктора сторінок з перетягуванням.