
🛠 So erhöhen Sie max_input_vars in PHP: 3 funktionierende Methoden
Sie haben Ihr Theme eingerichtet, ein Dutzend Plugins hinzugefügt, benutzerdefinierte Felder konfiguriert, und dann speichert WordPress plötzlich keine Menüeinstellungen mehr. Sie klicken auf „Speichern", aber einige Menüpunkte verschwinden einfach.
Das ist kein Fehler im Admin-Panel und kein Plugin-Problem. PHP auf dem Server hat das Eingabevariablen-Limit max_input_vars erreicht und schneidet die aus dem Formular kommenden Daten stillschweigend ab. Standardmäßig liegt das Limit bei 1000, was für ein modernes WordPress-Setup mit einigen umfangreichen Plugins eindeutig zu wenig ist.
Nachfolgend finden Sie drei Wege, das Limit zu erhöhen: von einer schnellen.htaccess-Anpassung bis hin zu Einstellungen im Hosting-Panel. Alle Methoden wurden unter Apache und PHP-FPM getestet und funktionieren von PHP 7.4 bis 8.4.
Was max_input_vars ist und wie sich der Fehler äußert
max_input_vars ist eine PHP-Direktive, die die Anzahl der aus GET-, POST- und COOKIE-Anfragen akzeptierten Variablen begrenzt. Die Beschränkung gilt für jedes Superglobal-Array separat: POST-Variablen werden unabhängig von GET und COOKIE gezählt.
Für eine kleine Visitenkarten-Website sind tausend Variablen mehr als genug. Doch das WordPress-Admin-Panel erzeugt Dutzende Felder für jede Entität: Menüpunkte, Widgets, Customizer-Optionen, Plugin-Metaboxen. Wenn ein Menüformular 80 Einträge enthält, von denen jeder 12 bis 15 Variablen übermittelt, wird das Limit unsichtbar überschritten und ein Teil der Daten geht beim Speichern verloren.

Symptome, die auf genau dieses Problem hindeuten:
- Menüpunkte werden nicht oder nur teilweise gespeichert.
- Widgets setzen sich spontan auf inaktiv zurück.
- Ein Plugin (etwa ein SEO-Plugin oder ein Page Builder) verliert nach dem Speichern einige Einstellungen.
- In der Website-Zustand (Werkzeuge → Website-Zustand → Info → Server) beträgt der Wert
PHP max input variables1000 oder weniger.
Die übliche Empfehlung der WordPress-Community lautet, das Limit auf 3000 anzuheben. Das ist für die meisten Setups ausreichend. Websites mit besonders umfangreichen Admin-Panels (mehrstufige Menüs mit über 100 Einträgen, Mega Menu, Dutzende ACF-Felder) können bedenkenlos 5000 oder sogar 10000 setzen, da dies praktisch keine Auswirkungen auf die Serverleistung hat.
💡 Kurzübersicht:
- Aktuelles Limit prüfen: phpinfo() oder Website-Zustand im WordPress-Admin.
- Methode 1:
php_value max_input_vars 3000in die.htaccess-Datei einfügen, funktioniert mit Apache unter mod_php. - Methode 2:
max_input_vars = 3000in php.ini oder.user.ini eintragen, geeignet für PHP-FPM. - Methode 3: Wert über das Hosting-Panel ändern, eine Option für diejenigen ohne direkten Zugriff auf Serverdateien.
Methode 1:.htaccess bearbeiten
Diese Methode funktioniert, wenn PHP als Apache-Modul (mod_php) läuft. Sie können dies unter Werkzeuge → Website-Zustand → Info → Server feststellen: Die Zeile Server architecture enthält Apache, und der PHP-Handler ist als Modul aufgeführt, nicht als FPM/FastCGI.
Erstellen Sie vor der Bearbeitung eine Sicherungskopie der.htaccess: Laden Sie die Datei per FTP oder über den Dateimanager Ihres Hostings auf Ihren Computer herunter. Änderungen an dieser Datei sind syntaxsensitiv; ein überflüssiges Leerzeichen oder ein Zeilenumbruch können die Website mit einem 500-Fehler lahmlegen.
Öffnen Sie die.htaccess (befindet sich im Wurzelverzeichnis der Website, neben wp-config.php) und fügen Sie die Zeile hinzu:
1 php_value max_input_vars 3000

Falls auf dem Server die Suhosin-Erweiterung installiert ist (2026 selten, aber auf älteren Shared Hosts noch anzutreffen), reicht eine Zeile nicht aus. Fügen Sie drei Direktiven hinzu:
1 php_value suhosin.request.max_vars 3000 2 php_value suhosin.post.max_vars 3000 3 php_value suhosin.get.max_vars 3000
Suhosin fängt Variablen vor PHP ab und beschneidet sie unabhängig von max_input_vars, daher der zusätzliche Zeilenblock.
Öffnen Sie nach dem Speichern der.htaccess WordPress-Admin → Werkzeuge → Website-Zustand → Info → Server und prüfen Sie, ob PHP max input variables den neuen Wert anzeigt. Hat er sich nicht geändert, lesen Sie den Abschnitt „Was tun, wenn sich das Limit dennoch nicht ändert" weiter unten.
Methode 2: php.ini oder.user.ini bearbeiten
Auf modernen Servern läuft PHP meist über PHP-FPM, und php_value-Direktiven in der.htaccess werden ignoriert. Das funktionierende Werkzeug ist hier die php.ini oder.user.ini.
.user.ini wird von PHP-FPM verzeichnisbasiert verarbeitet: Die Datei wird im Wurzelverzeichnis der Website abgelegt und gilt rekursiv für alle Unterverzeichnisse. Anders als .htaccess, die Apache bei jeder Anfrage liest, ist dies der Standardmechanismus von PHP, der seit Version 5.3 unterstützt wird.
Erstellen (oder bearbeiten) Sie eine .user.ini-Datei im Wurzelverzeichnis der Website und fügen Sie hinzu:
1 max_input_vars = 3000
Wenn Sie Zugriff auf die globale php.ini haben (VPS/Dedicated Server), ändern Sie den Wert auch dort. Den genauen Pfad zur php.ini finden Sie über phpinfo(): Suchen Sie nach der Zeile Loaded Configuration File. Nach der Bearbeitung der php.ini ist ein PHP-FPM-Neustart erforderlich:
1 sudo systemctl restart php8.2-fpm
Ersetzen Sie die Versionsnummer im Befehl durch Ihre eigene (8.1, 8.2, 8.3, 8.4). Prüfen Sie den neuen Wert über den Website-Zustand; er sollte sich sofort aktualisieren.
Falls die .user.ini-Datei nicht existiert, erstellen Sie sie einfach in einem Texteditor. Der Name beginnt mit einem Punkt, daher müssen Sie möglicherweise die Anzeige versteckter Dateien im Dateimanager Ihres Hostings aktivieren.
Methode 3: Limit über das Hosting-Panel ändern
Bei Shared Hosting (cPanel, ISPmanager, DirectAdmin) ist der einfachste Weg, den Wert über die grafische Oberfläche zu ändern, ohne Dateien manuell anzufassen.
cPanel: Gehen Sie zu PHP-Version auswählen → wechseln Sie zum Tab Optionen. Suchen Sie die Zeile max_input_vars, ändern Sie den Wert von 1000 auf 3000 und klicken Sie auf Speichern. Die Änderung wird sofort wirksam; ein Neustart ist nicht erforderlich.
ISPmanager: PHP-Bereich → Einstellungen → zusätzliche Parameter → max_input_vars.
DirectAdmin: PHP-Einstellungen → Direktive in der Liste suchen → ändern → speichern.
Wenn das Panel kein Feld für max_input_vars hat, verwendet das Hosting eine fest vorgegebene php.ini ohne Bearbeitungsrechte. In diesem Fall hilft nur die Kontaktaufnahme mit dem Support: Eröffnen Sie ein Ticket mit der Bitte, max_input_vars auf 3000 (oder den von Ihnen benötigten spezifischen Wert) zu erhöhen. Die meisten Hoster ändern das Limit auf erste Anfrage; das ist ein Routinevorgang.
Was tun, wenn sich das Limit dennoch nicht ändert
Situation: Die Zeilen in.htaccess und.user.ini sind vorhanden, das Hosting-Panel zeigt den neuen Wert, aber der Website-Zustand zeigt hartnäckig 1000. Ursachen und ihre Lösungen:
Falsche Methode für die Änderung. max_input_vars gehört zum Modus PHP_INI_PERDIR: Die Direktive kann nur in php.ini,.htaccess,.user.ini oder httpd.conf geändert werden. Die Funktion ini_set() in der wp-config.php hat keine Wirkung darauf; der Code @ini_set('max_input_vars', 3000) führt die Operation aus, aber PHP ignoriert sie stillschweigend. Verschwenden Sie keine Zeit mit dieser Methode.
PHP-Konfigurationscache. Einige Panels (insbesondere cPanel mit PHP-FPM) cachen ini-Dateien. Warten Sie nach der Bearbeitung der.user.ini 5 Minuten; so lange behält PHP-FPM standardmäßig den Konfigurationscache für ein bestimmtes Verzeichnis. Sie können den Vorgang beschleunigen, indem Sie PHP-FPM über das Hosting-Panel neu starten.
Zwei php.ini-Dateien. Auf Shared Hosts gibt es oft eine globale php.ini in einem Ordner und eine lokale in einem anderen. PHP verwendet die erste, die beim Start gefunden wird. Prüfen Sie den Pfad zur Loaded Configuration File über phpinfo() und bearbeiten Sie genau diese. Das zusätzliche Verzeichnis Scan this directory for additional .ini files kann das Limit ebenfalls enthalten; prüfen Sie auch diesen Ordner.
Hartes Hosting-Limit. Einige Anbieter blockieren Änderungen an max_input_vars auf Container-Ebene (CloudLinux mit PHP Selector Limits). In phpinfo() ist die Direktive als no value markiert oder erscheint gar nicht. Das bedeutet, das Hosting hat eine Obergrenze oberhalb der Benutzerbearbeitungen gesetzt; hier hilft nur ein Support-Ticket oder ein Tarif-Upgrade.
⁉️🤔 Häufig gestellte Fragen
Wie viel genau sollte ich einstellen: 3000 oder mehr?
Für die allermeisten WordPress-Seiten sind 3000 ausreichend. Dieser Wert deckt Menüs mit bis zu 120 Einträgen, Admin-Panels mit einem Dutzend aktiver Plugins und Customizer-Seiten mit zehn Abschnitten ab. Setzen Sie 5000, wenn Sie Mega Menu mit über 150 Einträgen, einen Builder wie Elementor mit Hunderten Feldern pro Seite oder ACF mit flexiblen Layouts verwenden. Über 10000 nur, wenn der Plugin-Entwickler dies ausdrücklich in der Dokumentation vorgibt.
Warum wurde das Limit nach einem PHP-Update auf 1000 zurückgesetzt?
Die Aktualisierung der PHP-Version über das Hosting-Panel zieht oft die Standard-php.ini heran. Prüfen Sie.user.ini und das Panel; höchstwahrscheinlich ist die Datei noch vorhanden, aber das Hosting hat den Pool auf eine neue Konfiguration ohne Ihre Änderungen umgestellt.
Kann ich das Limit über die wp-config.php setzen?
Nein. Die Direktive
max_input_varshat den ModusPHP_INI_PERDIRund kann nicht überini_set()geändert werden; PHP wird einen solchen Aufruf stillschweigend ignorieren. Es funktionieren nur.htaccess (unter Apache mit mod_php),.user.ini / php.ini und das Hosting-Panel.
Wie kann ich feststellen, ob das Problem spezifisch max_input_vars ist und nicht etwas anderes?
Der genaueste Indikator sind die PHP-Logs. Aktivieren Sie
WP_DEBUGin der wp-config.php:define('WP_DEBUG', true);. Prüfen Sie nach einem fehlgeschlagenen Formular-Speichern/wp-content/debug.log: Wenn dort ein EintragWarning: Input variables exceeded 1000steht, ist die Diagnose bestätigt.
Was soll ich tun, wenn mein Hosting mir nicht erlaubt, das Limit zu ändern?
Kontaktieren Sie den Support mit einer konkreten Zahl (zum Beispiel „erhöhen Sie max_input_vars auf 3000"). Das ist eine Standardanfrage; der Support erfüllt sie bei den meisten Anbietern kostenlos. Abgelehnt wird in zwei Fällen: ein extrem günstiger Tarif mit strikt festgelegten Limits (dann hilft nur ein Upgrade) oder eine Website auf Shared Hosting mit Hunderten Nachbarn, wo individuelle Limits architektonisch nicht unterstützt werden.
Zusammenfassung: Welche Methode für Ihre Situation wählen
Reihenfolge der Maßnahmen, von der einfachsten zur komplexesten.
Wenn Sie Shared Hosting mit cPanel nutzen, beginnen Sie mit Methode 3 (Panel). Das dauert drei Klicks, und in den meisten Fällen ist das Problem gelöst. Ändert sich der Wert im Website-Zustand nicht, versuchen Sie Methode 2 über.user.ini: Die Datei kommt ins Wurzelverzeichnis der Website und wird von PHP-FPM automatisch eingelesen.
Wenn Sie einen VPS oder Dedicated Server mit Apache und mod_php haben, liefert Methode 1 (.htaccess) sofortige Ergebnisse und erfordert keinen Neustart von Diensten. Für ein Apache + PHP-FPM-Setup verwenden Sie Methode 2 (php.ini oder.user.ini).
Wenn das Panel keine Bearbeitung erlaubt, der Support nicht reagiert und das Limit bei 1000 feststeckt, sind Sie möglicherweise aus Ihrem aktuellen Tarif herausgewachsen. WordPress-Setups werden jedes Jahr umfangreicher: mehr Felder, mehr Daten, höhere Anforderungen an die Serverumgebung. Ein Wechsel des Hostings zu einem flexibleren Tarif löst das Problem grundlegend und verbessert zudem die allgemeine Leistung der Website.
Beginnen Sie jetzt gleich mit der Prüfung des Website-Zustands: Werkzeuge → Website-Zustand → Info → Server → PHP max input variables. Wenn dort 1000 oder weniger angezeigt wird, gibt Ihnen eine der drei oben genannten Lösungen in 5 Minuten die Kontrolle über das Admin-Panel zurück.



