Jak naprawić błąd „PHP Max Input Vars Limit” w WordPressie
🚀 Jak naprawić błąd „PHP Max Input Vars Limit” w WordPressie
Jeśli budujesz lub zarządzasz stroną WordPress i nagle napotykasz błąd:
„Ostrzeżenie: osiągnięto limit Max Input Vars”
lub
„Zwiększ max_input_vars do wyższej wartości.”
…oznacza to, że twój serwer blokuje PHP przed przetwarzaniem zbyt wielu pól wejściowych — często widoczne przy zapisywaniu dużych menu, kreatorów stron (takich jak Elementor lub WPBakery) lub przesyłania formularzy.
W tym zaawansowanym artykule omówimy:
- ✅ Czym jest dyrektywa max_input_vars
- 🧠 Jak wpływa na WordPress
- 🔧 Jak to naprawić na różne sposoby (php.ini, .htaccess, wp-config, Nginx, cPanel itp.)
- 🔐 Najlepsze praktyki i kwestie bezpieczeństwa
🔍 Czym jest max_input_vars?
max_input_vars to dyrektywa PHP, która ogranicza liczbę zmiennych wejściowych, które PHP może zaakceptować (poprzez POST, GET i REQUEST). Chroni to serwer przed atakami typu denial-of-service, ale również wpływa na legalne operacje w platformach CMS.
Wartość domyślna:
Jeśli przekroczysz ten limit (np. zapisując menu WordPress z ponad 1000 elementów), PHP przerywa wejście, a WordPress cicho nie zapisuje wszystkich zmian.
📌 Kiedy napotkasz błąd
- Zapisywanie dużych menu nawigacyjnych
- Zapisywanie stron z wieloma polami formularzy
- Używanie kreatorów stron z złożonymi układami
- Wtyczki takie jak WPML, Elementor, WooCommerce
🛠️ Naprawa błędu: 6 sprawdzonych metod
✅ 1. Zmodyfikuj php.ini (Najlepsza metoda, jeśli masz dostęp do root lub VPS)
To jest najczystszy sposób na zmianę max_input_vars, jeśli prowadzisz własny serwer:
Krok 1: Zlokalizuj lub utwórz plik php.ini (zależy od serwera):
Zamień 8.1 na swoją wersję PHP.
Krok 2: Znajdź i edytuj dyrektywę:
Krok 3: Uruchom ponownie swój serwer WWW:
lub
✅ 2. Zaktualizuj .htaccess (Dla użytkowników Apache z hostingiem współdzielonym)
Jeśli nie masz dostępu do php.ini, spróbuj edytować .htaccess w katalogu głównym swojej instalacji WordPress:
⚠️ To działa tylko wtedy, gdy mod_php jest włączony. Niektórzy dostawcy hostingu używają PHP-FPM, gdzie ta metoda nie zadziała.
✅ 3. Użyj wp-config.php (Nie zawsze skuteczne)
WordPress nie obsługuje natywnie nadpisywania max_input_vars, ale w niektórych konfiguracjach dodanie tego może zadziałać:
Umieść to powyżej linii, która mówi:
✅ 4. Zmodyfikuj User php.ini lub php_value w cPanel
Jeśli korzystasz z hostingu współdzielonego z cPanel:
- Przejdź do cPanel > Wybierz wersję PHP > Opcje
- Znajdź max_input_vars i zwiększ do 3000 lub wyżej
- Zapisz i sprawdź phpinfo(), aby potwierdzić
✅ Działa natychmiast — nie wymaga ponownego uruchamiania.
✅ 5. Użyj .user.ini (Dla środowisk PHP-FPM lub CGI)
Utwórz lub edytuj .user.ini w swoim głównym folderze WordPress:
Następnie uruchom ponownie PHP (lub poczekaj 5+ minut, jeśli host automatycznie stosuje zmiany).
✅ 6. Dla serwerów NGINX + PHP-FPM
NGINX nie używa .htaccess, więc skonfiguruj PHP za pomocą puli FPM lub php.ini.
Edytuj /etc/php/8.1/fpm/php.ini:
Następnie uruchom ponownie:
🧪 Jak potwierdzić, że działa
Utwórz plik phpinfo.php w swoim katalogu głównym WordPress:
Uzyskaj do niego dostęp przez przeglądarkę: https://twojadomena.com/phpinfo.php
Wyszukaj max_input_vars i zweryfikuj, że jest zaktualizowane.
🧼 Nie zapomnij usunąć pliku później — ujawnia wrażliwe informacje o serwerze.
🛡️ Najlepsze praktyki
| Rekomendacja | Powód |
|---|---|
| Nie ustawiaj max_input_vars na 999999 | Może prowadzić do podatności na DoS |
| Trzymaj się 3000–5000 | Wystarczająco dla dużych menu/kreatorów stron |
| Monitoruj limity pamięci | Duże zmienne wejściowe = większe zużycie pamięci |
| Użyj phpinfo() lub ini_get() do debugowania | Unikaj zgadywania |
💡 Bonus: Zwiększ inne powiązane limity
Czasami ten problem towarzyszy innym limitom:
Te również mogą być umieszczone w php.ini, .htaccess lub .user.ini.
🧭 Ostateczne przemyślenia
Zrozumienie i naprawa błędu max_input_vars w WordPressie. Błąd max_input_vars to subtelny, ale potencjalnie zakłócający problem w WordPressie, który często pozostaje niezauważony — aż coś krytycznego się zepsuje. Ta dyrektywa konfiguracyjna PHP kontroluje maksymalną liczbę zmiennych wejściowych (takich jak pola formularzy lub elementy menu), które twój serwer przetworzy w jednym żądaniu. Jeśli ten limit jest zbyt niski, może cicho uniemożliwić części twojej witryny prawidłowe zapisywanie zmian, szczególnie w złożonych środowiskach.
Gdzie pojawia się problem
Ten błąd zazwyczaj pojawia się w następujących scenariuszach:
Duże lub zagnieżdżone menu WordPress: Podczas budowania szczegółowych struktur menu, tylko część menu może zostać zapisana, lub zmiany mogą zniknąć po zapisaniu.
- Witryny wielojęzyczne: Wtyczki takie jak WPML lub Polylang mocno polegają na przesyłaniu formularzy z dużą liczbą pól wejściowych dla każdego języka.
- Kreatory stron: Narzędzia typu drag-and-drop, takie jak Elementor, WPBakery lub Divi, mogą napotkać problemy podczas zapisywania układów z wieloma elementami lub wierszami.
- Ustawienia motywów lub wtyczek: Niektóre motywy i wtyczki z bogatymi panelami konfiguracyjnymi mogą nie zapisywać wszystkich ustawień poprawnie, jeśli limit zostanie przekroczony.
- Najgorsze jest to, że często nie ma widocznego komunikatu o błędzie — zmiany po prostu się nie stosują, pozostawiając cię w niepewności, co poszło nie tak.



