Heim >Backend-Entwicklung >PHP-Tutorial >Warum fehlen meine langen GET-Parameter in PHP und wie kann ich das beheben?
Serverseitige GET-Parametergrößenbeschränkungen
In PHP werden URL-Parameter beim Zugriff auf einen Server über REST traditionell im globalen _GET gespeichert . Es kann jedoch vorkommen, dass Benutzer auf Situationen stoßen, in denen ein bestimmter GET-Parameter nicht in diesem globalen Parameter erscheint, obwohl er in der Abfragezeichenfolge vorhanden ist. Durch das Kürzen der Länge des Parameters wird dieses Problem häufig behoben, was auf eine mögliche Größenbeschränkung hindeutet.
Diagnose und Lösung
Dieses Problem hängt tatsächlich mit einer maximalen Größenbeschränkung in bestimmten PHP-Konfigurationen zusammen . Mit Suhosin gepatchte PHP-Versionen legen eine Standardbeschränkung von 512 Zeichen für GET-Parameter fest. Obwohl Browser und Apache größere URLs unterstützen, kann diese Einschränkung den Zugriff auf lange Parameter verhindern.
Um diese Einschränkung zu umgehen, bearbeiten Sie die Konfigurationsdatei php.ini und fügen Sie die folgende Zeile hinzu:
suhosin.get.max_value_length = <limit>
Ersetzen Sie
Weitere Informationen
Es ist wichtig zu beachten, dass die Verwendung übermäßiger Parameterlängen nicht empfohlen wird, da dies der Fall ist kann die Serverleistung beeinträchtigen und Sicherheitslücken schaffen. Halten Sie als Best Practices die GET-Parameter kurz und vermeiden Sie eine Überschreitung des empfohlenen Grenzwerts.
Das obige ist der detaillierte Inhalt vonWarum fehlen meine langen GET-Parameter in PHP und wie kann ich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!