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.
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.
Die Revision der CGI-Spezifikation, die der Web-Server benutzt, z.B. 'CGI/1.1'.
Der Host-Name des Web-Servers, der das Skript ausführt. Das kann auch der Name eines virtuellen Servers sein.
Der Identifikations-String des Web-Servers (aus den Headern), sobald er Anforderungen beantwortet.
Name und Revision des Informations-Protokolls, über das die Seite angefordert wurde, z.B. 'HTTP/1.0'.
Welche Methode zum Zugriff auf die Seite benutzt wurde, z.B. 'GET', 'HEAD', 'POST', 'PUT'.
Der Abfrage-(Query-)String (falls vorhanden), mit dem auf die Seite zugegriffen wurde.
Das Verzeichnis des gerade ausgeführten Skripts aus Sicht des in der Konfigurations-Datei des Servers definierten Dokument-Wurzel-Verzeichnisses.
Inhalt des Accept:-Headers der aktuellen Anforderung (so es einen solche Header gibt).
Inhalt des Accept-Charset:-Headers der aktuellen Anforderung (sofern es einen gibt). Beispiel: 'iso-8859-1,*,utf-8'.
Inhalt des Accept-Encoding:-Headers der aktuellen Anforderung (wenn es einen gibt). Beispiel: 'gzip'.
Inhalt des Accept-Language:-Headers in der aktuellen Anforderung, sofern dieser Header existiert. Beispiel: 'en'.
Inhalt des Connection:-Headers des aktuellen Request, so er vorhanden ist. Beispiel: 'Keep-Alive'.
Inhalt des Host:-Headers der aktuellen Anforderung, wenn er existiert.
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.
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.
Die IP-Adresse, von der aus gerade auf die Web-Seite zugegriffen wird.
Der Port, der zum Zugriff auf ihren Web-Server seitens des Anwender-Computers benutzt wird.
Der absolute Pfadname des gerade ausgeführten Skripts.
Der Inhalt der in der Konfigurations-Datei des Web-Servers (Apache) stehenden Angabe zum SERVER_ADMIN. Bei virtuellen Hosts der dafür eingetragene Wert.
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.
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.
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).
Enthält den Pfad des aktuellen Skripts. Nützlich für Seiten, die auf sich selbst verweisen müssen.
Die URI, die durch den Zugriff auf die aktuelle Seite gegeben ist, z.B. '/index.html'.
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.
Diese Variablen werden durch PHP selbst erzeugt.
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.
Anzahl der per Kommando-Zeile dem Skript übergebenen Parameter (wenn von dort aufgerufen).
Der Datei-Name des gerade ausgeführten Skripts, relativ zum Wurzel-Verzeichnis des Dokuments. Bei Kommando-Zeilen- Aufrufen ist diese Variable nicht verfügbar.
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.
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.
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.
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.
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.
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.