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. Für eine Liste dieser Variablen lesen Sie bitte den Abschnitt Vordefinierte Variablen.
Warnung |
Ab PHP 4.2.0 ist der standardmäßige Wert für die PHP-Anweisung
register_globals
off. Dies ist eine wesentliche Änderung in
PHP. Die Anweisung register_globals off
beeinflusst den Satz von vordefinierten Variablen, die im
globalen Bereich verfügbar sind. Um zum Beispiel
Für diese Änderung betreffende Informationen lesen Sie bitte den Konfigurations-Eintrag für register_globals, das Sicherheitskapitel über die Verwendung von Register Globals und außerdem die PHP 4.1.0 und 4.2.0 Release Announcements. Die reservierten vordefinierten Variablen, wie die Superglobalen Arrays, sollten bevorzugt verwendet werden. |
Ab Version 4.1.0 stehen in PHP eine zusätzliche Reihe
vordefinierter Arrays zur Verfügung, die Variablen vom Webserver
(gegebenenfalls), von der Umgebung und von Benutzereingaben
enthalten. Diese neuen Arrays sind insofern etwas sehr Spezielles,
als sie automatisch global sind -- d.h., sie stehen automatisch in
jedem Bereich zur Verfügung. Deshalb sind sie auch bekannt als
'Autoglobale' oder 'Superglobale'. (Es gibt in PHP keinen
Mechanismus für benutzerdefinierte Superglobale.) Die Superglobale
werden nachfolgend aufgelistet, aber für eine Liste ihres Inhalts
und die weitere Diskussion vordefinierter Variablen und ihres
Wesens lesen Sie bitte den Abschnitt Reservierte vordefinierte
Variablen. Außerdem werden Sie feststellen, dass die alten
vordefinierten Variablen ($HTTP_*_VARS
) noch
existieren.
Seit PHP 5.0.0 können Sie die
Registrierung der langen von PHP
vordefinierten Arrays mit der Konfigurationsoption
register_long_arrays
abschalten.
Variable Variablen: Superglobale können nicht als Variable Variablen verwendet werden.
Falls bestimmte Variablen nicht unter variables_order angegeben sind, dann bleiben auch ihre entsprechenden vordefinierten Arrays leer.
PHP Superglobale
Diese Variable enthält eine Referenz zu jeder Variable, die
im globalen Bereich des laufenden Skripts zur Verfügung
steht. Die Schlüssel dieses Arrays sind die Namen der globalen
Variablen. $GLOBALS
gibt es seit PHP 3.
Variablen, die vom Webserver gesetzt werden oder anderweitig
direkt mit der ausführenden Umgebung des aktuellen Skripts
zusammenhängen. Entspricht dem alten
$HTTP_SERVER_VARS
-Array, das zwar noch zur
Verfügung steht, aber abzulehnen ist.
Variablen, die dem Skript über HTTP GET geliefert werden.
Entspricht dem alten $HTTP_GET_VARS
-Array,
das zwar noch zur Verfügung steht, aber abzulehnen ist.
Variablen, die dem Skript über HTTP POST geliefert werden.
Entspricht dem alten $HTTP_POST_VARS
-Array,
das zwar noch zur Verfügung steht, aber abzulehnen ist.
Variablen, die dem Skript über HTTP Cookies geliefert werden.
Entspricht dem alten
$HTTP_COOKIE_VARS
-Array, das zwar noch zur
Verfügung steht, aber abzulehnen ist.
Variablen, die dem Skript über HTTP Post Datei-Uploads
geliefert werden. Entspricht dem alten
$HTTP_POST_FILES
-Array, das zwar noch zur
Verfügung steht, aber abzulehnen ist. Für mehr Informationen
lesen Sie bitte Dateiuploads mit
POST.
Variablen, die dem Skript über die Umgebung geliefert werden.
Entspricht dem alten $HTTP_ENV_VARS
-Array,
das zwar noch zur Verfügung steht, aber abzulehnen ist.
Variablen, die dem Skript über die GET-, POST- und COOKIE-Eingabemechanismen geliefert werden und von daher nicht vertrauenswürdig sind. Die Präsenz und die Reihenfolge der Aufnahme der Variablen in dieses Array ist entsprechend der Konfigurationsanweisung variables_order definiert. Dieses Array hat in PHP vor Version 4.1.0 keine direkte Entsprechung. Siehe auch import_request_variables().
Achtung |
Seit PHP 4.3.0 gibt es in |
Anmerkung: Wenn PHP-Skripte auf der Kommandozeile ausgeführt werden, sind die Einträge
argv
undargc
nicht in diesem Array enthalten; diese befinden sich im$_SERVER
-Array.
Variablen, die aktuell in der Session eines Skripts registriert
sind. Entspricht dem alten
$HTTP_SESSION_VARS
-Array, das zwar noch zur
Verfügung steht, aber abzulehnen ist. Für mehr Informationen
lesen Sie bitte den Abschnitt Session Funktionen.
Zurück | Zum Anfang | Weiter |
Variablen | Nach oben | Geltungsbereich von Variablen |