Heim > Backend-Entwicklung > PHP-Tutorial > Beim Absenden des PHP-Beitrags wurden mehr als 1000 Eingabevariablen eingegeben

Beim Absenden des PHP-Beitrags wurden mehr als 1000 Eingabevariablen eingegeben

WBOY
Freigeben: 2016-09-12 17:44:45
Original
2850 Leute haben es durchsucht

Beim Absenden eines Beitrags kann dies passieren, wenn das Array zu groß ist:

<code>Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars</code>
Nach dem Login kopieren
Nach dem Login kopieren

Die Lösung ist: php.ini öffnen und die Parameter ändern
max_input_vars = 1000;

Ändern Sie den Standardwert 1000 in einen größeren Wert.

Klingt nach einer einfachen Frage. Wenn Sie jedoch Post-Request-Benutzer empfangen und die Serverumgebung unterschiedlich ist, können Sie nicht zulassen, dass jeder, der Ihren Dienst nutzt, diesen Parameter ändert.

Also habe ich zuerst das Post-Array mit json_encode und base64 verarbeitet. Es wurde als Parameter versiegelt, aber es dauerte 0,3 Sekunden, bis der Server diese Arrays analysierte. Es kostete 100-mal mehr als zuvor. Das fühlt sich immer noch unangemessen an. Und wenn „memory_limit“ zu klein eingestellt ist, führt dies zu unzureichendem Speicher.

Beide Optionen haben ihre eigenen Mängel.

Wenn Sie es wären, wie würden Sie mit diesem Problem umgehen?

Antwortinhalt:

Beim Absenden eines Beitrags kann dies passieren, wenn das Array zu groß ist:

<code>Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars</code>
Nach dem Login kopieren
Nach dem Login kopieren

Die Lösung ist: php.ini öffnen und die Parameter ändern
max_input_vars = 1000;

Ändern Sie den Standardwert 1000 in einen größeren Wert.

Klingt nach einer einfachen Frage. Wenn Sie jedoch Post-Request-Benutzer empfangen und die Serverumgebung unterschiedlich ist, können Sie nicht zulassen, dass jeder, der Ihren Dienst nutzt, diesen Parameter ändert.

Also habe ich zuerst das Post-Array mit json_encode und base64 verarbeitet. Es war in einem Parameter versiegelt, aber es dauerte 0,3 Sekunden, bis der Server diese Arrays analysierte. Es kostete 100-mal mehr als zuvor. Das fühlt sich immer noch unangemessen an. Und wenn „memory_limit“ zu klein eingestellt ist, führt dies zu unzureichendem Speicher.

Beide Optionen haben ihre eigenen Mängel.

Wenn Sie es wären, wie würden Sie mit diesem Problem umgehen?

Ich wähle die zweite Option, JSON-Übertragung.

Zuallererst weiß ich nicht, wie Sie berechnet haben, dass das JSON-Parsen 0,3 Sekunden langsamer ist als das Post-Parsing. Das heißt, woher wissen Sie, wie lange das Parsen eines Beitrags dauert?

Zweitens ist das JSON-Format im Vergleich zu Formulardaten anpassbarer und bietet eine bessere Unterstützung für Listen, Objekte usw. Durch die sinnvolle Nutzung dieser Dinge kann die Größe der übertragenen Daten erheblich reduziert werden.

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage