$_SERVER

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

$_SERVERInformationen über Server und Ausführungsumgebung

Beschreibung

$_SERVER ist ein Array, das Informationen wie Header, Pfade und die verschiedenen Wege, das Skript anzusprechen beinhaltet. Die Einträge in diesem Array werden vom Webserver erstellt. Es gibt keine Garantie dafür, dass jeder Webserver alle möglichen Einträge unterstützt - Server können einige weglassen oder andere Einträge unterstützen, die hier nicht aufgeführt sind. Das bedeutet, die meisten der Variablen werden in der » CGI 1.1-Spezifikation ausgewiesen, daher sollten Sie diese als von Ihrem Webserver unterstützt erwarten können.

Indizes

Es kann sein, dass Sie die folgenden Elemente in $_SERVER vorfinden. Beachten Sie, dass einige davon, sofern vorhanden, nur verfügbar sind oder einen sinnvollen Wert haben, wenn PHP auf der Kommandozeile läuft.

'PHP_SELF'
Der Dateiname des aktuell ausgeführten Skripts, relativ zum Document Root. Beispielsweise enthält $_SERVER['PHP_SELF'] in einem Skript, das über die Adresse http://example.com/foo/bar.php aufgerufen wird, den Wert /foo/bar.php. Die Konstante __FILE__ enthält den vollständigen Pfad und Dateinamen der aktuellen (z. B. via include eingebundenen) Datei. Falls PHP als Kommandozeilenprogramm läuft, enthält diese Variable den Namen des Skripts.
'argv'
Das Array der an das Skript übergebenen Argumente. Wenn das Skript auf der Kommandozeile ausgeführt wird, erhalten Sie auf diesem Weg einen an die Sprache C angelehnten Zugriff auf die Kommandozeilenparameter. Wird das Skript via GET aufgerufen, enthält die Variable den Querystring.
'argc'
Enthält die Anzahl der per Kommandozeile an das Skript übergebenen Parameter (sofern das Skript auf der Kommandozeile ausgeführt wird).
'GATEWAY_INTERFACE'
Enthält die Version der vom Server verwendete CGI-Spezifikation, z. B. 'CGI/1.1'.
'SERVER_ADDR'
Die IP-Adresse des Servers, auf dem das aktuelle Skript ausgeführt wird.
'SERVER_NAME'
Der Hostname des Servers, auf dem das aktuelle Skript ausgeführt wird. Wenn das Skript auf einem Virtuellen Host läuft, wird dieser Wert vom Virtuellen Host bestimmt.

Hinweis: Unter Apache 2 muss UseCanonicalName = On und ServerName gesetzt werden. Ansonsten reflektiert dieser Wert den Hostnamen, der vom Client gesendet wurde und vorgetäuscht werden kann. Es ist nicht sicher, sich in einem sicherheitsabhängigen Umfeld auf diesen Wert zu verlassen.

'SERVER_SOFTWARE'
Die Identifikation der verwendeten Server-Software, die bei einer Antwort auf den eingegangenen Request verwendet wird.
'SERVER_PROTOCOL'
Der Name und die Versionsnummer des verwendeten Übertragungsprotokolls, mittels dessen die aktuelle Seite aufgerufen wurde, z. B. 'HTTP/1.0'.
'REQUEST_METHOD'
Die Requestmethode, die verwendet wurde, um die Seite aufzurufen; z. B. 'GET', 'HEAD', 'POST', 'PUT'.

Hinweis:

Ist die Requestmethode HEAD, wird ein PHP-Skript beendet, nachdem die Header gesendet wurden (sofern Ausgaben ohne die Verwendung des Ausgabepuffers (output buffering) erzeugt werden).

'REQUEST_TIME'
Der Timestamp des Zeitpunkts, an dem der Request eintraf.
'REQUEST_TIME_FLOAT'
Der Timestamp des Zeitpunkts, an dem der Request eintraf, in Mikrosekunden-Genauigkeit.
'QUERY_STRING'
Sofern vorhanden, der Querystring, mittels dessen auf die Seite zugegriffen wurde.
'DOCUMENT_ROOT'
Das Document Root-Verzeichnis, unter dem das aktuelle Skript ausgeführt wird, so wie es in der Konfiguration des Servers festgelegt wurde.
'HTTP_ACCEPT'
Enthält den Inhalt des Accept:-Headers des aktuellen Requests, sofern ein solcher gesendet wurde.
'HTTP_ACCEPT_CHARSET'
Enthält den Inhalt des Accept-Charset:-Headers des aktuellen Requests, sofern ein solcher gesendet wurde. Beispiel: 'iso-8859-1,*,utf-8'.
'HTTP_ACCEPT_ENCODING'
Enthält den Inhalt des Accept-Encoding:-Headers des aktuellen Requests, sofern ein solcher gesendet wurde. Beispiel: 'gzip'.
'HTTP_ACCEPT_LANGUAGE'
Enthält den Inhalt des Accept-Language:-Headers des aktuellen Requests, sofern ein solcher gesendet wurde. Beispiel: 'en'.
'HTTP_CONNECTION'
Enthält den Inhalt des Connection:-Headers des aktuellen Requests, sofern ein solcher gesendet wurde. Beispiel: 'Keep-Alive'.
'HTTP_HOST'
Enthält den Inhalt des Host:-Headers des aktuellen Requests, sofern ein solcher gesendet wurde.
'HTTP_REFERER'
Sofern vorhanden, die Adresse der Seite, auf der der Benutzer einen Link auf die aktuell aufgerufene Seite angeklickt hat. Dieser Wert wird vom Browser des Benutzers gesetzt. Nicht alle Programme unterstützen diesen Wert, manche offerieren als Feature sogar die Möglichkeit, den Wert von HTTP_REFERER selbst zu bestimmen. Kurz, Sie können diesem Wert nicht wirklich vertrauen.
'HTTP_USER_AGENT'
Enthält den Inhalt des User-Agent:-Headers des aktuellen Requests, sofern ein solcher gesendet wurde. Dies ist eine Zeichenkette, die das für den Zugriff auf die Seite verwendete Programm anzeigt. Ein typisches Beispiel ist Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Sie können diesen Wert unter anderem mittels der Funktion get_browser() dafür nutzen, den Inhalt Ihrer Seite auf die Möglichkeiten des jeweiligen Browsers zuzuschneiden.
'HTTPS'
Wird auf einen nicht-leeren Wert gesetzt, wenn das Skript via HTTPS aufgerufen wurde.
'REMOTE_ADDR'
Die IP-Adresse, von der aus der Benutzer die aktuelle Seite ansieht.
'REMOTE_HOST'
Der Name des Hosts, von dem aus der Benutzer die aktuelle Seite ansieht. Der Auflösung der IP-Adresse (Reverse DNS Lookup) basiert auf der REMOTE_ADDR des Benutzers.

Hinweis: Ihr Webserver muss darauf konfiguriert sein, diese Variable zu erzeugen. Im Apache benötigen Sie dazu zum Beispiel die Direktive HostnameLookups On innerhalb der httpd.conf. Lesen Sie dazu auch die Beschreibung der Funktion gethostbyaddr().

'REMOTE_PORT'
Der vom Rechner des Benutzers verwendete Port, um mit dem Webserver zu kommunizieren.
'REMOTE_USER'
Der beglaubigte Benutzer.
'REDIRECT_REMOTE_USER'
Der beglaubigte Benutzer, falls der Request intern weitergeleitet wurde.
'SCRIPT_FILENAME'

Der absolute Pfad des aktuell ausgeführten Skripts.

Hinweis:

Wenn ein Skript als CLI mit einem relativen Pfad wie file.php oder ../file.php ausgeführt wird, enthält $_SERVER['SCRIPT_FILENAME'] den vom Benutzer angegebenen relativen Pfad.

'SERVER_ADMIN'
Der Wert, der für die SERVER_ADMIN-Direktive (für Apache) im Konfigurationsfile des Webservers eingestellt wurde. Wenn das Skript auf einem Virtuellen Host läuft, wird der für diesen Virtuellen Host definierte Wert verwendet.
'SERVER_PORT'
Der Port, der auf dem Server vom Webserver für die Kommunikation genutzt wird. In einer Standardumgebung ist dies '80'; wenn Sie beispielsweise SSL verwenden, wird dieser Wert auf den Port geändert, über den Sie Ihre verschlüsselte HTTP-Kommunikation abwickeln.

Hinweis: Unter Apache 2 müssen Sie UseCanonicalName = On sowie UseCanonicalPhysicalPort = On setzen, um den physikalischen (wirklichen) Port zu erhalten; andernfalls kann dieser Wert gefälscht werden, und gibt dann den Wert des physikalischen Ports zurück, oder nicht. Es ist nicht sicher, sich in einem sicherheitsabhängigen Umfeld auf diesen Wert zu verlassen.

'SERVER_SIGNATURE'
Ein String, der die Version der verwendeten Serversoftware und den Namen des Virtuellen Hosts enthält, der, sofern die Option auf dem Server aktiviert ist, an die servergenerierten Seiten angefügt wird.
'PATH_TRANSLATED'
Auf dem Dateisystem (nicht dem Document Root!) basierender Pfad zum aktuellen Skript, nachdem der Server ein Virtual-to-Real-Mapping durchgeführt hat.

Hinweis: Apache 2-Benutzer können die Direktive AcceptPathInfo = On in der httpd.conf verwenden, um einen Wert für PATH_INFO zu definieren.

'SCRIPT_NAME'
Enthält den Pfad zum aktuellen Skript. Dies ist nützlich für Seiten, die auf sich selbst verweisen sollen. Die Konstante __FILE__ enthält den vollständigen Pfad und Dateinamen der aktuellen (z. B. via include eingebundenen) Datei.
'REQUEST_URI'
Der URI, der angegeben wurde, um auf die aktuelle Seite zuzugreifen, beispielsweise '/index.html'.
'PHP_AUTH_DIGEST'
Wenn die Digest HTTP Authentication verwendet wird, wird diese Variable mit dem Inhalt des vom Client gesendeten 'Authorization'-Headers gefüllt, welchen Sie für eine adäquate Validierung nutzen sollten.
'PHP_AUTH_USER'
Wenn die HTTP Authentication verwendet wird, wird diese Variable mit dem vom Benutzer angegebenen Usernamen gefüllt.
'PHP_AUTH_PW'
Wenn die HTTP Authentication verwendet wird, wird diese Variable mit dem vom Benutzer angegebenen Passwort gefüllt.
'AUTH_TYPE'
Wenn die HTTP Authentication verwendet wird, wird diese Variable mit dem verwendeten HTTP-Authentifizierungsmechanismus gefüllt.
'PATH_INFO'
Enthält, sofern vorhanden, den Teil des Pfadnamens hinter dem Namen des PHP-Skripts, aber vor dem Query-String. Wenn zum Beispiel das aktuelle Skript mittels dem URL http://www.example.com/php/path_info.php/some/stuff?foo=bar aufgerufen wird, würde $_SERVER['PATH_INFO'] /some/stuff enthalten.
'ORIG_PATH_INFO'
Originalversion von 'PATH_INFO' vor der Verarbeitung durch PHP.

Beispiele

Beispiel #1 $_SERVER-Beispiel

<?php
echo $_SERVER['SERVER_NAME'];
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

www.example.com

Anmerkungen

Hinweis:

Dies ist eine 'Superglobale' oder automatisch globale Variable. Dies bedeutet, dass sie innerhalb des Skripts in jedem Geltungsbereich sichtbar ist. Es ist nicht nötig, sie mit global $variable bekannt zu machen, um aus Funktionen oder Methoden darauf zuzugreifen.

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.
Wird geladen... Bitte warte.

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

Wird geladen... Bitte warte.