🚀 So beheben Sie den Fehler “PHP Max Input Vars Limit” in WordPress

Wenn Sie eine WordPress-Website erstellen oder verwalten und plötzlich auf den Fehler stoßen:

“Warning: Max Input Vars limit reached”
oder
“Erhöhe max_input_vars auf einen höheren Wert”

…bedeutet dies, dass Ihr Server PHP daran hindert, zu viele Eingabefelder zu verarbeiten. Dies ist häufig der Fall, wenn große Menüs, Seitenerstellungsprogramme (wie Elementor oder WPBakery) oder Formulareingaben gespeichert werden.

In diesem Artikel für Fortgeschrittene gehen wir darauf ein:

  • ✅ Was die max_input_vars-Direktive ist
  • 🧠 Wie sie WordPress beeinflusst
  • 🔧 Wie man es mit verschiedenen Methoden behebt (php.ini, .htaccess, wp-config, Nginx, cPanel, etc.)
  • 🔐 Bewährte Praktiken und Sicherheitsüberlegungen

🔍 Was ist max_input_vars?

max_input_vars ist eine PHP-Direktive, die begrenzt , wie viele Eingabevariablen PHP (über POST, GET und REQUEST) akzeptieren kann. Dies schützt den Server vor Hashing-Denial-of-Service-Angriffen, hat aber auch Auswirkungen auf legitime Vorgänge in CMS-Plattformen.

Standardwert:

max_input_vars = 1000

Wenn Sie diese Grenze überschreiten (z. B. beim Speichern eines WordPress-Menüs mit 1000 Einträgen), schneidet PHP die Eingabe ab, und WordPress speichert nicht alle Änderungen.

📌 Wann tritt der Fehler auf?

  • Speichern von großen Navigationsmenüs
  • Speichern von Seiten mit vielen Formularfeldern
  • Verwendung von Page Buildern mit komplexen Layouts
  • Plugins wie WPML, Elementor, WooCommerce

🛠️ Behebung des Fehlers: 6 bewährte Methoden

✅ 1. Php.ini ändern (Beste Methode, wenn Sie Root- oder VPS-Zugang haben)

Dies ist der sauberste Weg, um max_input_vars zu ändern, wenn Sie Ihren eigenen Server betreiben:

Schritt 1: Suchen oder erstellen Sie eine php.ini-Datei (hängt vom Server ab):

sudo nano /etc/php/8.2/apache2/php.ini

Ersetzen Sie 8.1 durch Ihre PHP-Version.

Schritt 2: Suchen und bearbeiten Sie die Direktive:

max_input_vars = 3000

Schritt 3: Starten Sie Ihren Webserver neu:

sudo systemctl restart apache2

oder

sudo systemctl restart php8.2-fpm

✅ 2. .htaccess aktualisieren (für Apache-Benutzer mit Shared Hosting)

Wenn Sie keinen Zugriff auf php.ini haben, versuchen Sie, .htaccess im Stammverzeichnis Ihrer WordPress-Installation zu bearbeiten:


php_value max_input_vars 3000

⚠️ Dies funktioniert nur, wenn mod_php aktiviert ist. Einige Hosts verwenden stattdessen PHP-FPM, wo diese Methode nicht funktioniert.

✅ 3. Wp-config.php verwenden (nicht immer wirksam)

WordPress unterstützt nicht von Haus aus das Überschreiben von max_input_vars, aber in einigen Konfigurationen kann das Hinzufügen dieser Option funktionieren:

@ini_set('max_input_vars', '3000');

Platzieren Sie es über der Zeile, die besagt:

/* Das war's, Schluss mit der Bearbeitung! Viel Spaß beim Veröffentlichen. */

✅ 4. Ändern Sie die Benutzer php.ini oder php_value im cPanel

Wenn Sie ein Shared Hosting mit cPanel verwenden:

  • Gehen Sie zu cPanel > PHP-Version auswählen > Optionen
  • Suchen Sie nach max_input_vars und erhöhen Sie auf 3000 oder höher
  • Speichern Sie und überprüfen Sie phpinfo() zur Bestätigung

✅ Funktioniert sofort – kein Neustart erforderlich.

✅ 5. .user.ini verwenden (für PHP-FPM oder CGI-Umgebungen)

Erstellen oder bearbeiten Sie die Datei .user.ini in Ihrem WordPress-Stammverzeichnis:

max_input_vars = 3000

Starten Sie dann PHP neu (oder warten Sie 5 Minuten, wenn der Host die Änderungen automatisch vornimmt).

✅ 6. Bei NGINX-PHP-FPM-Servern

NGINX verwendet keine .htaccess, also konfigurieren Sie PHP über FPM-Pool oder php.ini.

Bearbeiten Sie /etc/php/8.1/fpm/php.ini:

max_input_vars = 3000

Dann neu starten:

sudo systemctl restart php8.2-fpm
sudo systemctl neu starten nginx

🧪 So bestätigen Sie, dass es funktioniert

Erstellen Sie eine phpinfo.php-Datei in Ihrem WordPress-Stammverzeichnis:

phpinfo(); ?>

Zugriff über den Browser: https://yourdomain.com/phpinfo.php

Suchen Sie nach max_input_vars und überprüfen Sie, ob es aktualisiert wurde.

🧼 Vergessen Sie nicht, die Datei danach zu löschen – sie gibt sensible Serverinformationen preis.

🛡️ Bewährte Praktiken

EmpfehlungGrund
Setzen Sie max_input_vars nicht auf 999999Kann zu DoS-Schwachstellen führen
Bleiben Sie bei 3000-5000Genug für große Menüs/Seitenersteller
Speichergrenzen überwachenGroße Eingabevariablen = mehr Speicherverbrauch
Verwenden Sie phpinfo() oder ini_get() zur FehlersucheVermeiden Sie Rätselraten

💡 Bonus: Erhöhen Sie andere verwandte Limits

Manchmal wird dieses Problem von der Überschreitung anderer Grenzen begleitet:

max_execution_time = 300
speicher_limit = 512M
post_max_größe = 64M
upload_max_filesize = 64M

Diese können auch in php.ini, .htaccess oder .user.ini eingetragen werden.

🧭 Abschließende Überlegungen

Den max_input_vars-Fehler in WordPress verstehen und beheben Der max_input_vars-Fehler ist ein subtiles, aber potenziell störendes Problem in WordPress, das oft unbemerkt bleibt – bis etwas Kritisches kaputt geht. Diese PHP-Konfigurationsanweisung steuert die maximale Anzahl von Eingabevariablen (z. B. Formularfelder oder Menüpunkte), die Ihr Server in einer einzigen Anfrage verarbeitet. Wenn diese Grenze zu niedrig ist, kann sie verhindern, dass Teile Ihrer Website Änderungen ordnungsgemäß speichern, insbesondere in komplexen Umgebungen.

Wo das Problem auftaucht
Dieser Fehler tritt typischerweise in den folgenden Szenarien auf:

Große oder verschachtelte WordPress-Menüs: Beim Aufbau detaillierter Menüstrukturen wird möglicherweise nur ein Teil des Menüs gespeichert, oder die Änderungen verschwinden nach dem Speichern.

  • Mehrsprachige Websites: Plugins wie WPML oder Polylang sind in hohem Maße auf die Eingabe von Formularen mit einer großen Anzahl von Eingabefeldern für jede Sprache angewiesen.
  • Seitenerstellungsprogramme: Bei Drag-and-Drop-Tools wie Elementor, WPBakery oder Divi können Probleme beim Speichern von Layouts mit vielen Elementen oder Zeilen auftreten.
  • Theme- oder Plugin-Einstellungen: Einige Themes und Plugins mit umfangreichen Konfigurationspanels speichern möglicherweise nicht alle Einstellungen korrekt, wenn das Limit überschritten wird.
  • Das Schlimmste daran? Oft gibt es keine sichtbare Fehlermeldung – die Änderungen werden einfach nicht übernommen, so dass Sie sich fragen, was schief gelaufen ist.