Heim >Backend-Entwicklung >PHP-Tutorial >PHP vordefinierte Variablen
Vordefinierte Variablen
Servervariable: $_SERVER
Hinweis: Wird in PHP (als aktuelle Mainstream-Entwicklungssprache) 4.1.0 und späteren Versionen verwendet. Frühere Versionen verwendeten $HTTP_SERVER_VARS.
$_SERVER ist ein Array, das Dinge wie Header, Pfade und Skriptspeicherorte enthält. Die Entitäten des Arrays werden vom Webserver erstellt. Es gibt keine Garantie dafür, dass alle Server alle Nachrichten produzieren; Server ignorieren möglicherweise einige Nachrichten oder generieren neue Nachrichten, die unten nicht aufgeführt sind. Das bedeutet, dass viele dieser Variablen in der CGI-Spezifikation 1.1 (die nicht mehr von vielen verwendet wird) spezifiziert sind, Sie sollten sie also sorgfältig studieren.
Dies ist eine „superglobale“ oder kann als automatische globale Variable beschrieben werden. Das bedeutet lediglich, dass es in allen Skripten funktioniert. Sie müssen den globalen $_SERVER nicht verwenden, um innerhalb einer Funktion oder Methode darauf zuzugreifen, wie Sie es mit $HTTP_SERVER_VARS tun würden.
$HTTP_SERVER_VARS enthält die gleichen Informationen, ist aber keine automatische globale Variable. (Hinweis: $HTTP_SERVER_VARS und $_SERVER sind unterschiedliche Variablen, und PHP (als aktuelle Mainstream-Entwicklungssprache) behandelt sie unterschiedlich.)
Wenn die Anweisung register_globals gesetzt ist, sind diese Variablen auch in allen Skripten verfügbar Das heißt, die Arrays $_SERVER und $HTTP_SERVER_VARS sind getrennt. Weitere Informationen finden Sie im sicherheitsrelevanten Kapitel „Verwenden von Register-Globals“. Diese einzelnen globalen Variablen sind keine automatischen globalen Variablen.
Möglicherweise stellen Sie fest, dass einige der unten aufgeführten $_SERVER-Elemente nicht verfügbar sind. Beachten Sie, dass, wenn Sie PHP über die Befehlszeile ausführen (als aktuelle Mainstream-Entwicklungssprache), fast keines der unten aufgeführten Elemente gültig ist (oder keine praktische Bedeutung hat).
"php (as the current mainstream development language)_SELF"
Der Dateiname des aktuell ausgeführten Skripts, bezogen auf das Dokumentstammverzeichnis. Verwenden Sie beispielsweise $_SERVER[php(als aktuelle Mainstream-Entwicklungssprache)_SELF im Skript mit der URL-Adresse http://example.com/test.php(als aktuelle Mainstream-Entwicklungssprache)/foo.bar ] wird abgerufen das Ergebnis von /test.php (als aktuelle Mainstream-Entwicklungssprache)/foo.bar.
Wenn PHP (als aktuelle Mainstream-Entwicklungssprache) im Befehlszeilenmodus ausgeführt wird, ist diese Variable ungültig.
"argv"
Das an dieses Skript übergebene Argument. Wenn das Skript im Befehlszeilenmodus ausgeführt wird, wird die Variable argv als Befehlszeilenargumente im C-Stil an das Programm übergeben. Beim Aufruf der GET-Methode enthält diese Variable die angeforderten Daten.
"argc"
Enthält die Anzahl der Befehlszeilenargumente, die an das Programm übergeben werden (bei Ausführung im Befehlszeilenmodus).
„GATEWAY_INTERFACE“
Die vom Server verwendete Standardversion von CGI (nicht mehr viele Leute verwenden sie derzeit). Zum Beispiel „cgi (nicht mehr viele Leute benutzen es jetzt)/1.1“.
SERVER_NAME
Der Name des Server-Hosts, auf dem das Skript derzeit ausgeführt wird. Wenn das Skript auf einem virtuellen Host ausgeführt wird, wird der Name durch den für diesen virtuellen Host festgelegten Wert bestimmt.
SERVER_SOFTWARE
Die Zeichenfolge zur Identifizierung des Servers, die im Header bei der Antwort auf die Anfrage angegeben wird.
"SERVER_PROTOCOL"
Der Name und die Version des Kommunikationsprotokolls beim Anfordern der Seite. Beispiel: „HTTP/1.0“.
„REQUEST_METHOD“
Die Anforderungsmethode beim Zugriff auf die Seite. Zum Beispiel: „GET“, „HEAD“, „POST“, „PUT“.
„QUERY_STRING“
Die Zeichenfolge der Abfrage.
„DOCUMENT_ROOT“
Das Stammverzeichnis des Dokuments, in dem sich das aktuell ausgeführte Skript befindet. Definiert in der Serverkonfigurationsdatei.
"HTTP_ACCEPT"