Vordefinierte Variablen

PHP bietet jedem ausgeführtem Skript eine Vielzahl von vordefinierten Variablen an. Viele dieser Variablen können jedoch nicht vollständig erläutert werden, da sie abhängig sind vom Web-Server, der Version und dem Setup des Web- Servers sowie weiteren Faktoren. Einige dieser Variablen stehen nicht zur Verfügung, wenn PHP-Skripte per Kommando- Zeilen-Aufruf ausgeführt werden.

Ungeachtet dieser Faktoren folgt nun eine Liste von vordefinierten Variablen innerhalb einer Basis-PHP3- Installation als Modul und einer Basis-Installation des Apache-Web-Servers in der Vers. 1.3.6.

Eine Liste aller vordefinierten Variablen (und weitere nützliche Informationen) erhalten sie durch Lesen der Infos zu (und Gebrauch) der phpinfo()-Funktion.

Anmerkung: Diese Liste ist weder vollständig noch erhebt sie Anspruch auf Vollständigkeit. Sie dient lediglich als Anleitung zu den möglicherweise zu erwartenden Arten von vordefinierten Variablen und dem Zugriff darauf.

Apache-Variablen

Diese Variablen werden durch den Apache-Web-Server erzeugt. Sollten sie einen anderen Web-Server nutzen, gibt es keine Garantie, dass dieser die selben Variablen unterstützt. Es könnten einige sein; es könnten aber auch hier nicht aufgeführte sein. Viele dieser Variablen werden in den CGI 1.1 Spezifikationen aufgeführt. Darauf sollten sie vorbereitet sein.

Einige sind beim Aufruf von PHP per Kommandozeile verfügbar. Sie können unterschiedliche Bedeutungen haben.

GATEWAY_INTERFACE

Die Revision der CGI-Spezifikation, die der Web-Server benutzt, z.B. 'CGI/1.1'.

SERVER_NAME

Der Host-Name des Web-Servers, der das Skript ausführt. Das kann auch der Name eines virtuellen Servers sein.

SERVER_SOFTWARE

Der Identifikations-String des Web-Servers (aus den Headern), sobald er Anforderungen beantwortet.

SERVER_PROTOCOL

Name und Revision des Informations-Protokolls, über das die Seite angefordert wurde, z.B. 'HTTP/1.0'.

REQUEST_METHOD

Welche Methode zum Zugriff auf die Seite benutzt wurde, z.B. 'GET', 'HEAD', 'POST', 'PUT'.

QUERY_STRING

Der Abfrage-(Query-)String (falls vorhanden), mit dem auf die Seite zugegriffen wurde.

DOCUMENT_ROOT

Das Verzeichnis des gerade ausgeführten Skripts aus Sicht des in der Konfigurations-Datei des Servers definierten Dokument-Wurzel-Verzeichnisses.

HTTP_ACCEPT

Inhalt des Accept:-Headers der aktuellen Anforderung (so es einen solche Header gibt).

HTTP_ACCEPT_CHARSET

Inhalt des Accept-Charset:-Headers der aktuellen Anforderung (sofern es einen gibt). Beispiel: 'iso-8859-1,*,utf-8'.

HTTP_ENCODING

Inhalt des Accept-Encoding:-Headers der aktuellen Anforderung (wenn es einen gibt). Beispiel: 'gzip'.

HTTP_ACCEPT_LANGUAGE

Inhalt des Accept-Language:-Headers in der aktuellen Anforderung, sofern dieser Header existiert. Beispiel: 'en'.

HTTP_CONNECTION

Inhalt des Connection:-Headers des aktuellen Request, so er vorhanden ist. Beispiel: 'Keep-Alive'.

HTTP_HOST

Inhalt des Host:-Headers der aktuellen Anforderung, wenn er existiert.

HTTP_REFERER

Die Adresse (URL) - sofern vorhanden - der Seite, von der aus auf die aktuelle Seite gesprungen wurde. Diese wird vom Browser gesetzt. Nicht alle unterstützen dies.

HTTP_USER_AGENT

Inhalt der User_Agent:-Header-Angabe der aktuellen Anfrage (wenn eine Angabe existiert). Dabei handelt es sich um eine Zeichenkette, welche das Browser- Programm benennt, mit dem die aktuelle Seite aufgerufen wurde, z.B. Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Abgesehen von anderen Dingen können sie diesen Wert zusammen mit der get_browser()-Funktion dazu verwenden, ihre Web-Seiten in Abhängigkeit von den Möglichkeiten des jeweils benutzten Browsers anzeigen zu lassen.

REMOTE_ADDR

Die IP-Adresse, von der aus gerade auf die Web-Seite zugegriffen wird.

REMOTE_PORT

Der Port, der zum Zugriff auf ihren Web-Server seitens des Anwender-Computers benutzt wird.

SCRIPT_FILENAME

Der absolute Pfadname des gerade ausgeführten Skripts.

SERVER_ADMIN

Der Inhalt der in der Konfigurations-Datei des Web-Servers (Apache) stehenden Angabe zum SERVER_ADMIN. Bei virtuellen Hosts der dafür eingetragene Wert.

SERVER_PORT

Der vom Server für den Web-Server benutzte Kommunikations- Port (normalerweise '80'). Verwenden sie z.B. SSL, wird dieser Port derjenige sein, den sie für sicheres HTTP definiert haben.

SERVER_SIGNATURE

Sofern eingeschaltet, enthält diese Zeichenkette die Server- Version und den virtuellen Host-Namen. Sie wird den durch den Server generierten Seiten hinzu gefügt.

PATH_TRANSLATED

In Abhängigkeit vom Datei- / File-System der Pfad des aktuellen Skripts, nachdem der Server das virtuelle Mapping in ein reales Mapping umgesetzt hat (nicht der Dokument-Wurzel-Pfad).

SCRIPT_NAME

Enthält den Pfad des aktuellen Skripts. Nützlich für Seiten, die auf sich selbst verweisen müssen.

REQUEST_URI

Die URI, die durch den Zugriff auf die aktuelle Seite gegeben ist, z.B. '/index.html'.

Umgebungs- / Environment-Variablen

Diese Variablen werden aus der Umgebung, in der PHP läuft, in den globalen Namensbereich von PHP importiert. Viele werden durch die jeweilige Shell, in der PHP läuft, unterstützt bzw. gebildet. Da es verschiedenste Systemumgebungen mit den unterschiedlichsten Shell`s gibt, ist es nicht möglich, eine abschließende Liste der definierten Umgebungs-Variablen aufzustellen. Lesen sie deshalb in der Anleitung zu ihrer Shell nach, um eine Liste dieser systembezogenen Variablen zu erhalten.

Andere Umgebungs-Variablen beinhalten die CGI-Variablen, die ohne Rücksicht darauf, ob PHP als Web-Server-Modul oder im CGI-Modus läuft, gesetzt werden.

PHP-Variablen

Diese Variablen werden durch PHP selbst erzeugt.

argv

Ein Array von Informationen, die dem Skript übergeben werden. Wird das Skript an der Befehlszeile aufgerufen, ermöglicht dies C-ähnlichen Zugriff auf die Kommando- Zeilen-Parameter. Beim Aufruf per GET-Methode enthält dieses Array die Abfragewerte.

argc

Anzahl der per Kommando-Zeile dem Skript übergebenen Parameter (wenn von dort aufgerufen).

PHP_SELF

Der Datei-Name des gerade ausgeführten Skripts, relativ zum Wurzel-Verzeichnis des Dokuments. Bei Kommando-Zeilen- Aufrufen ist diese Variable nicht verfügbar.

HTTP_COOKIE_VARS

Ein assoziatives Array von Variablen, das dem aktuellen Skript über HTTP-Cookies übergeben wurde. Nur verfügbar, wenn die Option "Variablen-Tracking" per track_vars-Konfigurations- oder per <?php_track_vars?>- Anweisung eingeschaltet wurde.

HTTP_GET_VARS

Ein assoziatives Array von Variablen, das dem aktuellen Skript per HTTP-GET-Methode übergeben wurde. Nur möglich, wenn "Variablen-Tracking" per track_vars-Konfigurations- oder per <?php_track_vars?>- Anweisung eingeschaltet ist.

HTTP_POST_VARS

Ein assoziatives Array aus Varaiblen, welches dem aktuellen Skript per HTTP-POST-Methode übergeben wurde. Nur möglich, wenn "Variablen-Tracking" per track_vars-Konfigurations- oder per Anweisung <?php_track_vars?>- eingeschaltet ist.

HTTP_POST_FILES

Ein assoziatives Array aus Variablen, die Informationen über per HTTP POST-Methode hochgeladene Dateien enthalten. Dies ist nur verfügbar, wenn das "Variablen-Tracking" entweder über die Konfigurations-Anweisungen track_vars oder <?php_track_vars?> ermöglicht ist.

HTTP_ENV_VARS

Ein assoziatives Array aus Variablen, die dem aktuellen Skript über die Umgebung vermittelt werden. Dies ist nur verfügbar, wenn das "Variablen-Tracking" entweder über die Konfigurations-Anweisungen track_vars oder <?php_track_vars?> ermöglicht ist.

HTTP_SERVER_VARS

Ein assoziatives Array aus Variablen, die dem aktuellen Skript vom jeweiligen HTTP-Server übermittelt werden. Diese Variablen sind analog den o.a. Apache-Variablen. Dies ist nur verfügbar, wenn das "Variablen-Tracking" entweder über die Konfigurations-Anweisungen track_vars oder <?php_track_vars?> ermöglicht ist.