PHP-max_input_vars-Limit in WordPress erhöhen

Kurz gesagt: Füge php_value max_input_vars 3000 zur .htaccess hinzu, setze max_input_vars = 3000 in der php.ini oder füge @ini_set('max_input_vars', 3000); zur wp-config.php hinzu. Wähle die Methode, die zu deiner Hosting-Umgebung passt — siehe die Tabelle unten.

Die Direktive max_input_vars wurde in PHP als Sicherheitsmaßnahme eingeführt, die die maximale Anzahl von POST-Variablen begrenzt, die der Server pro Anfrage verarbeitet. Wenn eine WordPress-Seite mehr Variablen übermittelt, als das Limit erlaubt, verwirft der Server die überzähligen stillschweigend — wodurch Menüs Einträge verlieren, Theme-Einstellungen verschwinden und Plugin-Konfigurationsseiten beim Speichern fehlschlagen.

In WP-STAGING-Support-Tickets ist der häufigste Auslöser eine WooCommerce- oder WPML-Seite mit einer großen Einstellungsseite, die beim Speichern stillschweigend Felder verwirft.

max_input_vars auf 3000 oder höher anzuheben behebt diese Symptome in den meisten Fällen. Die richtige Methode hängt von deiner Hosting-Umgebung ab. Wenn du dir nicht sicher bist, welche zutrifft, kontaktiere deinen Hosting-Anbieter, bevor du Serverkonfigurationsdateien bearbeitest — nicht alle Shared-Hoster gewähren die Erlaubnis für jede der Methoden unten.

Welche Methode solltest du nutzen?

Hosting-Typ Empfohlene Methode Hinweise
Shared cPanel (Apache) .htaccess bearbeiten Kein Server-Neustart nötig
Shared Hosting (nginx) php.ini oder Hoster-Panel Methode variiert je nach Anbieter
Managed WordPress (WP Engine, Kinsta usw.) Hoster-Control-Panel oder Support Direkte Dateibearbeitung kann eingeschränkt sein
VPS oder dedizierter Server mit SSH Globale php.ini bearbeiten PHP-FPM nach dem Speichern neu starten
Cloud-gemanagt (Cloudways, SpinupWP usw.) Hoster-Control-Panel Jeder Anbieter stellt seine eigene Einstellungs-UI bereit

Wenn dein Hoster keine der dateibasierten Methoden unten unterstützt, eröffne ein Support-Ticket — das Anheben von max_input_vars ist eine Routineanfrage.

So erhöhst du das PHP-Max-Input-Vars-Limit

Die drei häufigsten Methoden sind das Bearbeiten von .htaccess, php.ini oder wp-config.php. Probiere sie in der Reihenfolge aus, die zu deiner Hosting-Umgebung passt; gehe nur zur nächsten über, wenn die erste keine Wirkung zeigt.

Methode 1: Die .htaccess-Datei bearbeiten

Die .htaccess-Datei liegt im Stammverzeichnis deiner WordPress-Installation. Öffne sie mit deinem Dateimanager oder FTP-Client.

Max Input Vars in der .htaccess erhöhen

Wenn du die Datei nicht finden kannst: Die meisten Hosting-Dateimanager blenden Dotfiles standardmäßig aus. Suche nach einer Option Versteckte Dateien anzeigen und aktiviere sie.

Öffne .htaccess in einem Texteditor und füge die folgende Zeile hinzu:

php_value max_input_vars 3000
Code in der htaccess hinzufügen

Wenn dein Server die Sicherheitserweiterung Suhosin nutzt, verwende stattdessen diese Zeilen:

php_value suhosin.request.max_vars 3000
php_value suhosin.post.max_vars 3000

Ein Wert von 3000 deckt die meisten WordPress-Installationen mit großen Menüs oder komplexen Plugin-Einstellungsseiten ab. Erhöhe ihn nur weiter, wenn die Symptome nach dem Speichern bestehen bleiben.

Methode 2: Die php.ini-Datei bearbeiten

Die php.ini-Datei liegt ebenfalls im Stammverzeichnis deiner WordPress-Installation. Wenn dort keine Datei existiert, erstelle eine leere.

php.ini-Datei

Öffne die Datei in einem Texteditor und füge diese Zeile hinzu oder aktualisiere sie:

max_input_vars = 3000
Code in der php.ini-Datei hinzufügen

Speichere die Datei. Wenn du Shell-Zugang hast, starte PHP-FPM oder Apache neu, damit der Wert sofort wirksam wird. Auf Shared-Hosts übernimmt die nächste PHP-Anfrage die neue Einstellung automatisch.

Methode 3: Die wp-config.php-Datei bearbeiten

Melde dich in deinem Hosting-Panel oder FTP-Client an und navigiere zum Dateimanager. Öffne wp-config.php im Stammverzeichnis deiner WordPress-Installation.

wp-config-Datei ansehen

Füge die folgende Zeile vor der Zeile mit /* That's all, stop editing! */ ein:

@ini_set( 'max_input_vars', 3000 );
Code in der wp-config.php-Datei hinzufügen

Speichere die Datei. Diese Methode setzt das Limit zur PHP-Laufzeit und funktioniert in Shared-Hosting-Umgebungen, in denen du .htaccess oder php.ini nicht direkt bearbeiten kannst. Du kannst 3000 durch jeden Wert ersetzen, den deine Seite benötigt — wir empfehlen 3000 oder höher, um komplexe Admin-Seiten abzudecken.

Hinweis zu Altsystemen: PHP-5-Hosting

PHP 5 hat im Dezember 2018 das Ende seiner Lebensdauer erreicht. Wenn dein Hoster noch PHP 5 betreibt, gilt der php.ini-Ansatz oben, doch du musst womöglich auch php5.ini– und user.ini-Dateien im selben Verzeichnis mit derselben Direktive erstellen:

max_input_vars = 3000

Kontaktiere deinen Hoster umgehend für ein Upgrade — PHP-5-Server erhalten keine Sicherheitspatches mehr. Die Suhosin-Erweiterungsdirektiven (suhosin.get.max_vars, suhosin.post.max_vars, suhosin.request.max_vars) sind nur auf Servern mit installiertem Suhosin relevant; moderne PHP-8.x-Server benötigen sie nicht.

Was tun, wenn die Lösung nicht funktioniert

Wenn die Methoden oben das Problem nicht behoben haben, arbeite diese Prüfungen durch, bevor du deinen Hoster kontaktierst.

Die Änderung blieb nach dem Speichern nicht bestehen. Das Control-Panel deines Hosters bringt womöglich eine Master-php.ini mit, die jede lokale Datei, die du erstellst, überschreibt. Öffne das PHP-Konfigurationspanel deines Hosters (in cPanel: Software → PHP-Version auswählen → Optionen) und setze max_input_vars dort direkt.

Der Wert ist gesetzt, aber die Symptome bleiben. Eine andere PHP-Direktive könnte der eigentliche Engpass sein. Erstelle eine temporäre Datei in deinem Web-Root mit dem Inhalt <?php phpinfo(); ?>, öffne sie im Browser und suche nach max_input_vars, um zu bestätigen, dass der neue Wert aktiv ist. Prüfe auch post_max_size — ist er niedriger als die Daten, die deine Einstellungsseite übermittelt, behebt das alleinige Anheben von max_input_vars das Problem nicht.

phpinfo() zeigt den neuen Wert nicht. PHP kann mehrere Konfigurationsdateien laden. Die phpinfo()-Ausgabe zeigt Configuration File (php.ini) Path — bestätige, dass du die dort aufgeführte Datei bearbeitet hast. Auf cPanel-Servern liegt die aktive php.ini oft im Home-Verzeichnis des Nutzers, nicht im WordPress-Web-Root.

Der wp-config.php-Ansatz zeigt keine Wirkung. Manche Serverkonfigurationen deaktivieren ini_set() über die Direktive disable_functions. Nutze in diesem Fall stattdessen die .htaccess– oder php.ini-Methode.

Für Hilfe bei einem verwandten PHP-Konfigurationslimit siehe PHP-Speicherlimit in WordPress.

Die offizielle Spezifikation für diese Direktive findest du im PHP-Handbuch: max_input_vars.

Fazit

max_input_vars anzuheben ist eine einzeilige Konfigurationsänderung, doch die Wahl der richtigen Datei ist entscheidend: .htaccess für Shared-Apache-Hosts, php.ini für VPS-Umgebungen, wp-config.php, wenn du keine Serverkonfigurationsdateien bearbeiten kannst. Wenn die Änderung nicht greift, überschreibt sie wahrscheinlich die Master-Konfiguration deines Hosters — die Fehlerbehebungsschritte oben decken die häufigsten Ursachen ab.

Sichere deine Seite immer, bevor du Serverkonfigurationsdateien bearbeitest. Wenn du zusätzliche Hilfe brauchst, kann dir unser Support-Team weiterhelfen.

Verwandte Artikel:

Rene Hermenau

Autor: Rene Hermenau

Über den Autor: René Hermenau ist Gründer von WP STAGING. Er arbeitet an WordPress-Backups, Staging, Migrationen, Datenbankverarbeitung und sicheren Deployment-Workflows.