Ich erhalte eine max_input_vars
Fehlermeldung.
Ich verstehe, dass es eine php.ini
Einstellung gibt, die dies ab Version 5.3.9 ändern kann. Ich verwende jedoch Version 5.1.6.
Wenn ich die Konfigurationsinformationen für meinen 5.1.6-Server ansehe, wird der max_input_vars
Wert 1000 angezeigt .
Meine Frage ist: Obwohl ich 5.1.6 ausführe, sehe ich diese Einstellung von, phpinfo()
aber sie ist nicht in der php.ini
Datei. Bedeutet dies, dass der Wert in dieser Version von PHP fest codiert ist und nicht geändert werden kann?
max_input_vars
im PHP 5.1.6-Quellcode überhaupt keinen Verweis darauf, daher bin ich mir nicht sicher, wie Sie ihn in der Ausgabe von phpinfo () sehen. Soweit ich weiß, existierte es nicht vor 5.3.9 ...5.1.6 -> 5.3.3
und dann wieder auf diesen Fehler bin ich auf diesen Fehler gestoßen5.1.6
. Warf mich, weil diese Option in der5.1.6
php.ini
Datei nicht vorhanden ist . Ich fügte die Zeile hinzu, erhöhte die Nummer und mein Fehler / Problem ging weg.Antworten:
Sie können es zu php.ini hinzufügen und es sollte funktionieren - testen Sie es einfach auf PHP 5.3.6.
quelle
Referenz auf PHP net:
http://php.net/manual/en/info.configuration.php#ini.max-input-vars
Bitte beachten Sie, dass Sie diese Direktive nicht zur Laufzeit mit Funktion setzen können
ini_set(name, newValue)
, zEs wird nicht funktionieren.
Wie in der Dokumentation erläutert, kann diese Anweisung nur pro Verzeichnisbereich festgelegt werden, dh über die .htaccess-Datei, httpd.conf oder .user.ini (seit PHP 5.3).
Siehe http://php.net/manual/en/configuration.changes.modes.php
Das Hinzufügen der Direktive in php.ini oder das Einfügen der folgenden Zeilen in .htaccess funktioniert:
quelle
max_input_vars = 3000
(+ Gleichheitszeichen).Habe gerade dieses Update mit 5.3.3 versucht und es gibt keine Änderung. Beim Googeln habe ich diese Webseite http://anothersysadmin.wordpress.com/2012/02/16/php-5-3-max_input_vars-and-big-forms/ gefunden , auf der andere Einstellungen aufgeführt sind, die geändert werden müssen, wenn Ihr Server den Suhosin-Patch verwendet was Apache unter Debian tut.
Die Seite erklärt:
Ich habe es getestet (Einstellungen zu php.ini sowohl in / etc / php5 / apache2 als auch in / etc / php5 / cli hinzugefügt und Apache erfolgreich neu gestartet), aber immer noch keine Variable max_input_vars in phpinfo.
Einige Websites verweisen auf PHP 5.3.9 als die erste PHP-Version, in der diese Änderung vorgenommen wird. Daher ist es meine Schuld, dass RTM überhaupt nicht richtig funktioniert, obwohl ich daran interessiert bin, dass Leute berichten, dass es in Version 5.3.3 funktioniert aber unter 5.3.9.
quelle
Sie müssen den Wert max_input_vars in der Datei php.ini auskommentieren und erhöhen (exp. 2000). Vergessen Sie auch nicht, Ihren Server neu zu starten. Dies hilft 99,99%.
quelle
sudo service apache2 restart
. Muss ich Ubuntu neu starten?;
den Wert entfernt und auf 3000 geändert. Das Problem war wahrscheinlich der Cache des Browsers. PHPMyAdmin geschlossen und in einem neuen Tab geöffnet und es funktioniert jetzt. Vielen Dank!Es ist jetzt 2018. Und ich bin gerade bei diesem Problem hängen geblieben, als ich eine Anfrage senden muss, die die überschreitet
max_input_vars
. Und ich habe eine Lösung gefunden, bei der ein Neuling wie ich vergessen hat, den PHP-Fpm-Dienst nach dem Ändern desmax_input_vars
Parameters neu zu starten . weil ich nur versucht habe neu zu startenapache2
service , aber nicht php fpm/etc/php/7.0/fpm/php.ini
und Nummer nach Belieben einstellenmax_input_vars = 4000
sudo service php7.0-fpm restart
Hoffe es hilft
getestet auf
Debian Stretch
,php7.0
quelle
Die Verwendung dieser Richtlinie verringert die Möglichkeit von Denial-of-Service-Angriffen, bei denen Hash-Kollisionen verwendet werden. Wenn mehr Eingabevariablen vorhanden sind als in dieser Anweisung angegeben, wird ein E_WARNING ausgegeben und weitere Eingabevariablen werden von der Anforderung abgeschnitten.
Ich kann vorschlagen, den Standardwert 1000 nicht zu erweitern und die Anwendungsfunktionalität zu erweitern, indem die Anforderung serialisiert oder die Anforderung blockweise gesendet wird. Andernfalls können Sie dies auf die erforderliche Konfiguration erweitern.
Es muss definitiv in der php.ini eingerichtet werden
quelle
Beachten Sie, dass Sie dies in die Datei ".user.ini" in Centos7 einfügen müssen und nicht in "php.ini", die früher in Centos6 funktioniert hat. Sie können ".user.ini" in ein beliebiges Unterverzeichnis einfügen, um nur dieses Verzeichnis zu beeinflussen.
.user.ini:
Getestet auf Centos7 und PHP 5.6.33.
quelle
php_value max_input_vars 6000
"Fügen Sie diese Zeile in die .htaccess-Datei Ihrer Site ein."
quelle
Neuer Cpanels-Block, um die .htaccess-Datei anzuzeigen, oder wenn Sie eine .user.ini hinzufügen, wird sie nicht angezeigt. Aber mit einem kleinen Hack können Sie es zum Laufen bringen. Bearbeiten Sie zum Beispiel wp-config.php und ersetzen Sie in der URL-Leiste wp-config.php durch .htaccess. Jetzt können Sie die Werte einfügen und speichern. Geben Sie hier die Bildbeschreibung ein
quelle
Hatte gerade das gleiche Problem beim Hinzufügen von Menüelementen zu Wordpress. Ich verwende Wordpress 4.9.9 unter Ubuntu 18.04, PHP 7.0. Ich habe die folgende Zeile einfach auskommentiert und auf 1500 Zoll erhöht
/etc/php/7.0/apache2/php.ini
Verwenden Sie dann Folgendes, um die Änderung zu bewirken:
Hoffentlich hilft das.
quelle
"PHP-Nachricht: PHP Warnung: Unbekannt: Eingabevariablen haben 1000 überschritten. Um den Grenzwert zu erhöhen, ändern Sie max_input_vars in php.ini.
Dieser PHP-Konfigurationsparameter max_input_vars wirkt sich nicht nur auf Ihre GET / POST / COOKIES-Parameter aus, sondern steuert auch Ihre Formulareingabe.
Führen Sie die folgenden Schritte aus, um den Wert festzulegen oder zu ändern.
1) Überprüfen Sie die vorhandene Einstellung / den vorhandenen Wert, indem Sie ihn in Ihrer php.ini-Datei anzeigen. Suchen Sie die php.ini-Datei mithilfe von
<?php echo getinfo(); ?>
Finden Sie den folgenden Schlüssel: Geladene Konfigurationsdatei: /etc/php/5.6/fpm/php.ini
2) Öffnen Sie die Datei php.ini im bearbeitbaren Modus und suchen Sie nach max_input_vars. Diese Zeile kann in Ihrer vorhandenen Standardeinstellung mit dem Standardwert 1000 kommentiert werden. um es zu kommentieren und mit Ihrem geeigneten Wert zu bearbeiten, zB 2500.
3) Speichern Sie die Datei und starten Sie die Dienste von PHP neu, indem Sie unten verwenden
sudo service php5.6-fpm restart
Ebenso können Sie jede andere ähnliche PHP-Konfiguration nach Belieben aktualisieren.
quelle
Nur zur Ergänzung. Auf einem gemeinsam genutzten Server mit mod_suphp hatte ich das gleiche Problem.
Das Deklarieren von 4 max_input_vars (einschließlich Suhosin) hat es nicht gelöst, es wurde nur bei 1000 vars (Standard) abgeschnitten und das Deklarieren von "php_value max_input_vars 6000" bei .htaccess hat den Fehler 500 ausgelöst.
Was gelöst wurde, war das Hinzufügen von Folgendem zu .htaccess, wodurch die Datei php.ini rekursiv auf diesen Pfad angewendet wird
quelle
Ja, füge es der php.ini hinzu, starte Apache neu und es sollte funktionieren.
Sie können es im laufenden Betrieb testen, wenn Sie möchten
ini_set("max_input_vars",100)
quelle