2017/07/28 09:17:56 [Fehler] 2488#0: *460868 FastCGI gesendet STDERR: "PHP-Nachricht: PHP Warnung: Unbekannt: Eingabevariablen haben 1000 überschritten. Um die Grenzänderung max_input_vars in php.ini zu erhöhen. in Unbekannt auf Zeile 0", während er den Antwortheader vom Upstream liest, Client: 1.1.1.1, Server:www.itsvse.com, Anfrage: "POST /admin.php HTTP/1.0", Upstream: "fastcgi://127.0.0.1:9000", Host: "www.itsvse.com", Referrer: "http://www.it.com/xxx"
Ein Problem, das im PHP-Fehlerprotokoll auftaucht
Der Fehlerbericht ist immer noch sehr freundlich, es sollte die Anzeige der maximalen Anzahl von Beiträgen sein, bis zu 1000 Nachrichten
Auch andere im Internet sind damit konfrontiert
Vor einiger Zeit habe ich an der Entwicklung einer APP-API mitgewirkt, eine davon besteht darin, das Adressbuch des Kunden über JSON, die POST-Anfrage-API zu schicken; zu Beginn des Tests fand man keine Probleme, und dann testete ein Kunde die hochgeladenen Daten als unvollständig und meldete einen abnormalen Fehler. Später überprüfte ich die Protokolle und stellte fest, dass die von POST erhaltenen Daten unvollständig waren. Unabhängig davon, ob 1.000 oder 2.000 gleichzeitig übergeben werden, werden im Logbuch nur mehr als 300 Einträge angezeigt.
Nach einem Nachmittag des Herumwühlens stellte ich schließlich fest, dass das gepostete JSON-Paket standardmäßig durch PHP verkürzt war. Der Grund hängt mit einem Parameter zusammen. php.ini max_input_vars in der Akte. Dies ist eine Variable, die seit PHP 5.3.9 hinzugefügt wurde.
max_input_vars bezeichnet die Anzahl der ausgedrückten Commits mit einem Standardwert von 1000. Der offizielle Zweck dieser Variable ist es, den Server besser vor Angriffen zu schützen. Vermeide Verstopfungen.
Nach der Änderung musst du php-fpm modifizieren und neu starten
Service PHP-FPM Stopp
Service PHP-FPM Start
Nach dem Neustart von php-fpm tritt das max_input_vars in Kraft, ist das Problem gelöst? Lösung, php.ini max_input_vars Parameter anpassen und dann neu starten, um das Problem zu lösen!
|