W skrócie: Dodaj
php_value max_input_vars 3000do.htaccess, ustawmax_input_vars = 3000wphp.inilub dodaj@ini_set('max_input_vars', 3000);dowp-config.php. Wybierz metodę pasującą do Twojego środowiska hostingowego — zobacz tabelę poniżej.
Dyrektywa max_input_vars została wprowadzona w PHP jako środek bezpieczeństwa, który ogranicza maksymalną liczbę zmiennych POST przetwarzanych przez serwer na żądanie. Gdy strona WordPress przesyła więcej zmiennych, niż pozwala limit, serwer po cichu odrzuca nadmiar — przez co menu tracą pozycje, ustawienia motywu znikają, a strony konfiguracji wtyczek nie zapisują się.
W zgłoszeniach do pomocy technicznej WP STAGING najczęstszym wyzwalaczem jest witryna z WooCommerce lub WPML z dużą stroną ustawień, która po cichu odrzuca pola przy zapisie.
Podniesienie max_input_vars do 3000 lub więcej rozwiązuje te objawy w większości przypadków. Właściwa metoda zależy od Twojego środowiska hostingowego. Jeśli nie masz pewności, która ma zastosowanie, skontaktuj się ze swoim dostawcą hostingu, zanim zaczniesz edytować pliki konfiguracyjne serwera — nie wszyscy hości współdzieleni udzielają zgody na każdą z poniższych metod.
Contents
Której metody użyć?
| Typ hostingu | Zalecana metoda | Uwagi |
|---|---|---|
| Współdzielony cPanel (Apache) | Edycja .htaccess |
Nie wymaga restartu serwera |
| Hosting współdzielony (nginx) | php.ini lub panel hosta |
Metoda zależy od dostawcy |
| Zarządzany WordPress (WP Engine, Kinsta itd.) | Panel sterowania hosta lub wsparcie | Bezpośrednia edycja plików może być ograniczona |
| VPS lub serwer dedykowany z SSH | Edycja globalnego php.ini |
Po zapisaniu zrestartuj PHP-FPM |
| Zarządzany w chmurze (Cloudways, SpinupWP itd.) | Panel sterowania hosta | Każdy dostawca udostępnia własny interfejs ustawień |
Jeśli Twój host nie obsługuje żadnej z poniższych metod opartych na plikach, otwórz bilet wsparcia — podniesienie max_input_vars to rutynowa prośba.
Jak zwiększyć limit PHP Max Input Vars
Trzy najczęstsze metody to edycja .htaccess, php.ini lub wp-config.php. Wypróbuj je w kolejności pasującej do Twojego środowiska hostingowego; przejdź do następnej tylko wtedy, gdy pierwsza nie przynosi efektu.
Metoda 1: Edycja pliku .htaccess
Plik .htaccess znajduje się w katalogu głównym Twojej instalacji WordPress. Otwórz go za pomocą menedżera plików lub klienta FTP.

Jeśli nie możesz zlokalizować pliku, większość hostingowych menedżerów plików domyślnie ukrywa pliki kropkowe. Poszukaj opcji Pokaż ukryte pliki i włącz ją.

Otwórz .htaccess w edytorze tekstu i dodaj następujący wiersz:
php_value max_input_vars 3000

Jeśli Twój serwer używa rozszerzenia zabezpieczającego Suhosin, użyj zamiast tego tych wierszy:
php_value suhosin.request.max_vars 3000
php_value suhosin.post.max_vars 3000
Wartość 3000 pokrywa większość instalacji WordPress z dużymi menu lub złożonymi stronami ustawień wtyczek. Zwiększ ją dalej tylko wtedy, gdy objawy utrzymują się po zapisie.
Metoda 2: Edycja pliku php.ini
Plik php.ini również znajduje się w katalogu głównym Twojej instalacji WordPress. Jeśli nie ma tam żadnego pliku, utwórz pusty.

Otwórz plik w edytorze tekstu i dodaj lub zaktualizuj ten wiersz:
max_input_vars = 3000

Zapisz plik. Jeśli masz dostęp do powłoki, zrestartuj PHP-FPM lub Apache, aby wartość zaczęła obowiązywać natychmiast. Na hostach współdzielonych następne żądanie PHP automatycznie pobiera nowe ustawienie.
Metoda 3: Edycja pliku wp-config.php
Zaloguj się do panelu hostingowego lub klienta FTP i przejdź do Menedżera plików. Otwórz wp-config.php w katalogu głównym swojej instalacji WordPress.

Dodaj następujący wiersz przed wierszem /* That's all, stop editing! */:
@ini_set( 'max_input_vars', 3000 );

Zapisz plik. Ta metoda ustawia limit w czasie wykonywania PHP i działa w środowiskach hostingu współdzielonego, w których nie możesz bezpośrednio modyfikować .htaccess ani php.ini. Możesz zastąpić 3000 dowolną wartością, której wymaga Twoja witryna — zalecamy 3000 lub więcej, aby pokryć złożone strony administracyjne.
Uwaga dotycząca starszych systemów: hosting z PHP 5
PHP 5 zakończyło cykl życia w grudniu 2018 roku. Jeśli Twój host nadal działa na PHP 5, podejście z php.ini powyżej ma zastosowanie, ale możesz też potrzebować utworzyć pliki php5.ini i user.ini w tym samym katalogu z tą samą dyrektywą:
max_input_vars = 3000
Skontaktuj się ze swoim hostem natychmiast w sprawie aktualizacji — serwery z PHP 5 nie otrzymują już poprawek zabezpieczeń. Dyrektywy rozszerzenia Suhosin (suhosin.get.max_vars, suhosin.post.max_vars, suhosin.request.max_vars) są istotne tylko na serwerach z zainstalowanym Suhosin; nowoczesne serwery z PHP 8.x ich nie wymagają.
Co zrobić, jeśli rozwiązanie nie działa
Jeśli powyższe metody nie rozwiązały problemu, przejdź przez te kontrole, zanim skontaktujesz się z hostem.
Zmiana nie utrzymała się po zapisie. Panel sterowania Twojego hosta może dostarczać główny php.ini, który nadpisuje każdy lokalny plik, jaki utworzysz. Otwórz panel konfiguracji PHP swojego hosta (w cPanel: Oprogramowanie → Wybierz wersję PHP → Opcje) i ustaw max_input_vars bezpośrednio tam.
Wartość jest ustawiona, ale objawy pozostają. Inna dyrektywa PHP może być rzeczywistym wąskim gardłem. Utwórz tymczasowy plik w katalogu głównym witryny zawierający <?php phpinfo(); ?>, otwórz go w przeglądarce i wyszukaj max_input_vars, aby potwierdzić, że nowa wartość jest aktywna. Sprawdź też post_max_size — jeśli jest niższy niż dane, które przesyła Twoja strona ustawień, samo podniesienie max_input_vars nie rozwiąże problemu.
phpinfo() nie pokazuje nowej wartości. PHP może wczytywać wiele plików konfiguracyjnych. Wynik phpinfo() pokazuje Configuration File (php.ini) Path — potwierdź, że edytowałeś plik tam wymieniony. Na serwerach cPanel aktywny php.ini często znajduje się w katalogu domowym użytkownika, a nie w katalogu głównym witryny WordPress.
Podejście z wp-config.php nie przynosi efektu. Niektóre konfiguracje serwera wyłączają ini_set() za pomocą dyrektywy disable_functions. W takim przypadku użyj zamiast tego metody .htaccess lub php.ini.
Aby uzyskać pomoc dotyczącą powiązanego limitu konfiguracji PHP, zobacz limit pamięci PHP w WordPressie.
Oficjalna specyfikacja tej dyrektywy znajduje się w podręczniku PHP: max_input_vars.
Podsumowanie
Podniesienie max_input_vars to jednowierszowa zmiana konfiguracji, ale wybór właściwego pliku ma znaczenie: .htaccess dla współdzielonych hostów Apache, php.ini dla środowisk VPS, wp-config.php, gdy nie możesz modyfikować plików konfiguracyjnych serwera. Jeśli zmiana się nie utrzymuje, prawdopodobnie nadpisuje ją główna konfiguracja Twojego hosta — powyższe kroki rozwiązywania problemów obejmują najczęstsze przyczyny.
Zawsze wykonuj kopię zapasową witryny przed edycją plików konfiguracyjnych serwera. Jeśli potrzebujesz dodatkowej pomocy, nasz zespół wsparcia może Ci pomóc.
Powiązane artykuły:
- Jak zwiększyć maksymalny rozmiar przesyłanego pliku w WordPressie
- Witryna testowa przekierowuje do witryny produkcyjnej
- PHP Fatal Error: wyczerpany dozwolony rozmiar pamięci
- Jak naprawić błąd „Przepraszamy, nie masz uprawnień do tej strony" w WordPressie
- Jak naprawić problemy z odświeżaniem i przekierowywaniem strony logowania WordPressa