Sparen Sie 15% bei allen Hosting-Diensten

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code: Skills Anfangen
Abschnitte
Verwaltung

Wie man den PHP Max Input Vars Limit Error in WordPress behebt

Der PHP Max Input Vars Limit-Fehler ist eines der häufigsten – und häufig missverstandenen – serverseitigen Probleme, auf die WordPress-Administratoren stoßen. Er trunciert Formularübermittlungen stillschweigend, unterbricht Plugin-Funktionalität und verursacht unvollständige Datenverarbeitung, ohne immer eine offensichtliche Fehlermeldung anzuzeigen. Wenn Sie mit fehlenden Einstellungen, beschädigten Formulardaten oder fehlerhaften WordPress-Plugins kämpft haben, führt Sie diese Anleitung durch alles, was Sie wissen müssen: was den Fehler verursacht, wie Sie ihn diagnostizieren und genau wie Sie ihn mit mehreren bewährten Methoden beheben.

Was ist das PHP Max Input Vars Limit?

Die max_input_vars Direktive ist eine PHP-Konfigurationseinstellung, die die maximale Anzahl von Eingabevariablen steuert, die Ihr Server in einer einzelnen Anfrage akzeptiert. Dies gilt für alle drei Eingabemethoden:

  • GET Anfragen (URL-Abfragezeichenfolgen)
  • POST Anfragen (Formularübermittlungen)
  • COOKIE Daten

Der Standardwert liegt typischerweise bei 1000 Variablen pro Anfrage. Wenn eine Formularübermittlung – oder ein Plugin, das dynamische Felder generiert – diesen Schwellenwert überschreitet, verwirft PHP stillschweigend alle Variablen über dem Limit. Das Ergebnis ist unvollständige Datenverarbeitung, fehlerhafte Einstellungsseiten und unvorhersehbares Plugin-Verhalten.

Warum passiert das speziell in WordPress?

WordPress ist eine hochgradig erweiterbare Plattform. Page Builder wie Elementor oder WPBakery, komplexe E-Commerce-Plugins wie WooCommerce, erweiterte Menüsysteme und mehrzeilige Kontaktformulare können alle Hunderte – manchmal Tausende – von Eingabevariablen in einer einzelnen Übermittlung generieren. Das Standardlimit von 1000 ist einfach nicht ausreichend für moderne, funktionsreiche WordPress-Installationen.

> Häufige Symptome sind: WordPress-Menüelemente verschwinden nach dem Speichern, Plugin-Einstellungen werden nicht korrekt gespeichert, große Formulare übermitteln unvollständige Daten und Theme-Customizer-Optionen gehen verloren.

Wenn Sie WordPress auf einem VPS Hosting Plan ausführen, haben Sie normalerweise vollständigen Root-Zugriff, um dies auf Serverebene zu beheben – der zuverlässigste Ansatz. In gemeinsamen Umgebungen gelten die unten beschriebenen alternativen Methoden.

Schritt 1: Überprüfen Sie Ihr aktuelles max_input_vars Limit

Bevor Sie Änderungen vornehmen, bestätigen Sie Ihre aktuelle PHP-Konfiguration. Die sauberste Methode dazu ist die Generierung einer phpinfo() Ausgabedatei.

Erstellen Sie eine PHP Info-Datei

  1. Öffnen Sie einen einfachen Text-Editor (Notepad, VS Code, nano, etc.)
  2. Erstellen Sie eine neue Datei und fügen Sie den folgenden Code hinzu:
<?php
phpinfo();
?>
  1. Speichern Sie die Datei als info.php
  2. Laden Sie sie in das Stammverzeichnis Ihres Webservers hoch (z. B. /var/www/html/ oder public_html/)

Lesen Sie die Ausgabe

Öffnen Sie Ihren Browser und navigieren Sie zu:

http://yourdomain.com/info.php

Verwenden Sie Ctrl+F um auf der Seite nach max_input_vars zu suchen. Sie sehen zwei Spalten: den kompilierten Standardwert und den lokal konfigurierten Wert. Notieren Sie sich, was derzeit eingestellt ist.

> ⚠️ Sicherheitswarnung: Löschen Sie info.php sofort nach der Überprüfung. Diese Datei macht sensible Serverkonfigurationsdetails verfügbar und sollte niemals öffentlich zugänglich auf einem Produktionsserver verbleiben.

Schritt 2: Erhöhen Sie das max_input_vars Limit

Es gibt drei primäre Methoden, um das max_input_vars Limit zu erhöhen, jede geeignet für unterschiedliche Ebenen des Serverzugriffs. Wählen Sie die Methode, die zu Ihrer Hosting-Umgebung passt.

Methode 1: Bearbeiten Sie die php.ini Datei (Empfohlen für VPS & Dedicated Server)

Dies ist die zuverlässigste und zuverlässigste Methode. Sie wendet die Änderung auf PHP-Engine-Ebene an, was sie zum bevorzugten Ansatz für Administratoren mit Serverzugriff macht.

Suchen Sie Ihre php.ini Datei. Häufige Pfade sind:

PHP-VersionApachePHP-FPM
PHP 7.4/etc/php/7.4/apache2/php.ini/etc/php/7.4/fpm/php.ini
PHP 8.1/etc/php/8.1/apache2/php.ini/etc/php/8.1/fpm/php.ini
PHP 8.2/etc/php/8.2/apache2/php.ini/etc/php/8.2/fpm/php.ini

Sie sind sich nicht sicher, welche PHP-Version Sie ausführen? Führen Sie dies in Ihrem Terminal aus:

php -v

Bearbeiten Sie die Datei:

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

Suchen Sie nach der max_input_vars Zeile. Sie kann mit einem Semikolon auskommentiert sein:

; max_input_vars = 1000

Kommentieren Sie sie aus und aktualisieren Sie den Wert:

max_input_vars = 3000

Ein Wert von 3000 ist für die meisten WordPress-Installationen geeignet. Für sehr komplexe Setups mit großen Menüs oder umfangreichen WooCommerce-Konfigurationen können Sie 5000 in Betracht ziehen.

Starten Sie Ihren Webserver neu, um die Änderungen anzuwenden:

Für Apache:

sudo systemctl restart apache2

Für Nginx mit PHP-FPM:

sudo systemctl restart php8.1-fpm
sudo systemctl restart nginx

Diese Methode ist vollständig auf Dedicated Servern und den meisten verwalteten VPS-Plänen verfügbar und gibt Ihnen vollständige Kontrolle über Ihre PHP-Umgebung.

Methode 2: Bearbeiten Sie die .htaccess Datei (Für Apache Shared Hosting)

Wenn Sie sich in einer gemeinsamen Hosting-Umgebung befinden oder keinen direkten Zugriff auf php.ini haben, bietet die .htaccess Datei eine praktische Alternative – vorausgesetzt, Ihr Host erlaubt PHP-Direktiven, auf Verzeichnisebene überschrieben zu werden.

  1. Navigieren Sie zum Stammverzeichnis Ihrer WordPress-Installation (wo wp-config.php sich befindet)
  2. Öffnen oder erstellen Sie die .htaccess Datei
  3. Fügen Sie die folgende Zeile hinzu:
php_value max_input_vars 3000
  1. Speichern Sie die Datei

Wichtig: Diese Methode funktioniert nur auf Apache Servern, auf denen AllowOverride aktiviert ist. Sie funktioniert nicht auf Nginx. Wenn Sie nach dem Speichern einen 500 Internal Server Error erhalten, erlaubt Ihr Host diese Direktive nicht – entfernen Sie die Zeile und verwenden Sie stattdessen Methode 3.

Wenn Sie sich auf einem Shared Web Hosting Plan befinden, kontaktieren Sie zuerst das Support-Team Ihres Hosting-Providers, um zu bestätigen, ob PHP-Direktiven-Overrides in .htaccess zulässig sind.

Methode 3: Fügen Sie eine Direktive zu wp-config.php hinzu

Diese Methode verwendet PHPs ini_set() Funktion direkt in der Konfigurationsdatei von WordPress. Es ist ein weit verbreiteter Workaround für Umgebungen, in denen weder php.ini noch .htaccess Änderungen möglich sind.

  1. Öffnen Sie die wp-config.php Datei in Ihrem WordPress-Stammverzeichnis
  2. Fügen Sie die folgende Zeile vor dem Kommentar hinzu, der /* That's all, stop editing! Happy blogging. */ lautet:
@ini_set('max_input_vars', 3000);
  1. Speichern Sie die Datei

Einschränkungen, die Sie beachten sollten: Einige Hosting-Provider deaktivieren ini_set() aus Sicherheitsgründen, was bedeutet, dass diese Methode möglicherweise stillschweigend fehlschlägt. Zusätzlich wird der @ Fehlerunterdückungsoperator hier verwendet, um Warnungen zu verhindern, wenn die Funktion eingeschränkt ist – aber er verdeckt auch Fehler. Überprüfen Sie nach Anwendung dieser Änderung immer, ob sie mit der in Schritt 1 beschriebenen phpinfo() Methode funktioniert hat.

Methode 4: Verwenden Sie eine Benutzer-Level php.ini oder .user.ini Datei

In vielen gemeinsamen Hosting-Umgebungen, die PHP-FPM ausführen, können Sie eine benutzerdefinierte php.ini oder .user.ini Datei in Ihrem Website-Stammverzeichnis platzieren:

  1. Erstellen Sie eine neue Datei mit dem Namen .user.ini in Ihrem WordPress-Stammverzeichnis
  2. Fügen Sie den folgenden Inhalt hinzu:
max_input_vars = 3000
  1. Speichern und laden Sie die Datei hoch

PHP-FPM scannt regelmäßig nach .user.ini Dateien (normalerweise alle 5 Minuten standardmäßig, gesteuert durch user_ini.cache_ttl). Änderungen werden möglicherweise nicht sofort wirksam – warten Sie ein paar Minuten, bevor Sie testen.

Schritt 3: Überprüfen Sie, ob die Änderungen wirksam wurden

Nach Anwendung Ihrer gewählten Methode ist es wichtig zu bestätigen, dass das neue Limit tatsächlich aktiv ist.

  1. Navigieren Sie zurück zu http://yourdomain.com/info.php in Ihrem Browser (laden Sie die Datei erneut hoch, wenn Sie sie gelöscht haben)
  2. Suchen Sie nach max_input_vars
  3. Bestätigen Sie, dass die Local Value Spalte jetzt 3000 anzeigt (oder Ihren gewählten Wert)

Wenn sich der Wert nicht geändert hat, versuchen Sie Folgendes:

  • Für php.ini Änderungen: Stellen Sie sicher, dass Sie die richtige php.ini Datei für Ihre PHP-Version und SAPI (Apache vs. FPM) bearbeitet haben. Überprüfen Sie, ob der Webserver vollständig neu gestartet wurde.
  • Für .htaccess Änderungen: Überprüfen Sie, dass AllowOverride All in Ihrer Apache Virtual Host-Konfiguration gesetzt ist.
  • Für wp-config.php Änderungen: Bestätigen Sie, dass ini_set() nicht in Ihrer PHP-Konfiguration deaktiviert ist, indem Sie die disable_functions Direktive in phpinfo() überprüfen.

> 🔒 Denken Sie daran: Löschen Sie info.php von Ihrem Server, sobald Sie die Änderungen bestätigt haben. Es offen zu lassen ist ein Sicherheitsrisiko.

Zusätzliche PHP-Einstellungen, die überprüft werden sollten

Während Sie Ihre php.ini offen haben, lohnt es sich, diese verwandten Einstellungen zu überprüfen, die häufig die WordPress-Leistung und -Stabilität beeinflussen:

DirektiveEmpfohlener WertZweck
max_input_vars3000–5000Eingabevariablen-Limit
memory_limit256MPHP-Speicher pro Skript
upload_max_filesize64M–128MMaximale Datei-Upload-Größe
post_max_size128MMaximale POST-Datengröße
max_execution_time120–300Skript-Timeout in Sekunden
max_input_time120Input-Parsing-Timeout

Die Optimierung dieser Werte stellt sicher, dass Ihre WordPress-Site kompl

Sicherungskopie Verwaltung
Verwaltung
Sicherheit Verwaltung Virtuelle Server