Wenn Sie eine WordPress-Website erstellen oder verwalten und plötzlich der Fehler auftritt:
“Warning: Max Input Vars limit reached”
oder
“Erhöhen Sie max_input_vars auf einen höheren Wert.”
…das bedeutet, dass Ihr Server PHP daran hindert, zu viele Eingabefelder zu verarbeiten – häufig zu sehen beim Speichern großer Menüs, Page Builders (wie Elementor oder WPBakery) oder Formular-Eingaben.
In diesem Artikel für Fortgeschrittene werden wir uns damit befassen:
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 Operationen in CMS-Plattformen.
Standardwert:
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.
Dies ist der sauberste Weg, 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):
Ersetzen Sie 8.1 durch Ihre PHP-Version.
Schritt 2: Suchen und bearbeiten Sie die Direktive:
Schritt 3: Starten Sie Ihren Webserver neu:
oder
Wenn Sie nicht auf die php.ini zugreifen können, versuchen Sie, .htaccess im Stammverzeichnis Ihrer WordPress-Installation zu bearbeiten:
<IfModule mod_php.c>
php_value max_input_vars 3000
</IfModule>
⚠️ Dies funktioniert nur, wenn mod_php aktiviert ist. Einige Hosts verwenden stattdessen PHP-FPM, wo diese Methode nicht funktioniert.
WordPress unterstützt nicht von Haus aus das Überschreiben von max_input_vars, aber in einigen Konfigurationen kann es funktionieren, dies hinzuzufügen:
Platzieren Sie dies über der Zeile, die besagt:
Wenn Sie ein Shared Hosting mit cPanel verwenden:
✅ Funktioniert sofort – kein Neustart erforderlich.
Erstellen oder bearbeiten Sie die Datei .user.ini in Ihrem WordPress-Stammverzeichnis:
Starten Sie dann PHP neu (oder warten Sie 5 Minuten, wenn der Host die Änderungen automatisch übernimmt).
NGINX verwendet keine .htaccess, also konfigurieren Sie PHP über FPM-Pool oder php.ini.
Bearbeiten Sie /etc/php/8.1/fpm/php.ini:
Starten Sie dann neu:
Erstellen Sie eine Datei phpinfo.php in Ihrem WordPress-Stammverzeichnis:
phpinfo();
Rufen Sie sie mit dem Browser auf: 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.
Empfehlung | Grund |
---|---|
Setzen Sie max_input_vars nicht auf 999999 | Kann zu DoS-Schwachstellen führen |
Bleiben Sie bei 3000-5000 | Genug für große Menüs/Seitenersteller |
Speichergrenzen überwachen | Große Eingabevariablen = mehr Speicherverbrauch |
Verwenden Sie phpinfo() oder ini_get() zur Fehlersuche | Vermeiden Sie Rätselraten |
Manchmal wird dieses Problem von der Überschreitung anderer Grenzen begleitet:
Diese Einstellungen können auch in php.ini, .htaccess oder .user.ini vorgenommen werden.
Der max_input_vars-Fehler ist leicht zu übersehen, kann aber wichtige Funktionen von WordPress stillschweigend unterbrechen. Wenn Sie diese Grenze mit der für Ihre Umgebung geeigneten Methode erhöhen, gewährleisten Sie die Stabilität komplexer Menüs, mehrsprachiger Inhalte und Drag-and-Drop-Seitenerstellungen.