$_SERVER
  $HTTP_SERVER_VARS [veraltet, nicht empfohlen]
  $_SERVER -- $HTTP_SERVER_VARS [veraltet, nicht empfohlen] — Informationen über Server und Ausführungsumgebung
  
 
  Beschreibung
  
   $_SERVER ist ein Array, das Informationen wie Header,
   Pfade und die verschiedenen Wege, das Skript anzusprechen. 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 meint, 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.
  
  
   $HTTP_SERVER_VARS enthält anfangs die selben Informationen,
   ist aber kein Superglobal. (Beachten Sie,
   dass $HTTP_SERVER_VARS und $_SERVER
   unterschiedliche Variablen sind und von PHP daher entsprechend behandelt
   werden.)
  
  
 
  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/test.php/foo.bar aufgerufen wird,
       den Wert /test.php/foo.bar/. Die Konstante __FILE__ enthält den
       vollständigen Pfad und Dateinamen der aktuellen (z.B. via include
       eingebundenen) Datei.
      
      
       Läuft PHP als Kommandozeilenprogramm, enthält diese Variable seit PHP
       4.3.0 den Namen des Skripts. Davor war die Variable nicht verfügbar.
      
     
- 
     'argv'
     
- 
      
       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.
      
     
- 
     'SERVER_SOFTWARE'
     
- 
      
       Identifikation der verwendeten Server-Software, die bei einer Antwort auf
       den eingegangenen Request verwendet wird.
      
     
- 
     'SERVER_PROTOCOL'
     
- 
      
       Name und Versionsnummer des verwendeten Übertragungsprotokolls, mittels
       dessen die aktuelle Seite aufgerufen wurde, z. B.
       'HTTP/1.0'.
      
     
- 
     'REQUEST_METHOD'
     
- 
      
       Enthält die für den Zugriff auf die Seite verwendete Requestmethode, z. B.
       'GET', 'HEAD',
       'POST' oder '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. Verfügbar seit
       PHP 5.1.0.
      
     
- 
     '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.
      
      Hinweis: 
       
        Beachten Sie bei der Verwendung von ISAPI unter IIS, dass der Wert
        auf off gesetzt wird, wenn der Request nicht mittels
        HTTPS erfolgte.
       
       
 
- 
     '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 aktulle 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.
      
     
- 
     '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.
      
     
- 
     '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 servergenerierte 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: 
       
        Seit PHP 4.3.2  wird PATH_TRANSLATED nicht länger implizit
        unter der Apache 2 SAPI gesetzt, im Gegensatz zur
        Situation unter Apache 1, bei dem diese Variable automatisch auf den
        Wert von SCRIPT_FILENAME gesetzt wird, sofern Apache
        nicht selbst einen Wert einfügt. Diese Änderung entspricht dem in der
        CGI-Spezifikation beschriebenen Verhalten, nach dem
        PATH_TRANSLATED nur dann gesetzt sein sollte, wenn
        PAT_INFO definiert ist.
       
       
        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 PHP als Modul unter Apache läuft und Digest HTTP Authentication
       verwendet wird, wird diese Variable mit dem Inhalt des vom Client gesendeten
       'Authorization'-Headers gefüllt, den Sie für eine adäquate Validierung
       nutzen sollten.
      
     
- 
     'PHP_AUTH_USER'
     
- 
      
       Wenn PHP als Modul unter Apache oder IIS (ISAPI bei PHP 5) läuft und
       HTTP authentication verwendet wird, wird diese Variable mit dem
       vom Benutzer angegebenen Usernamen gefüllt.
      
     
- 
     'PHP_AUTH_PW'
     
- 
      
       Wenn PHP als Modul unter Apache oder IIS (ISAPI bei PHP 5) läuft und
       HTTP authentication verwendet wird, wird diese Variable mit dem
       vom Benutzer angegebenen Passwort gefüllt.
      
     
- 
     'AUTH_TYPE'
     
- 
      
       Wenn PHP als Modul unter Apache läuft, wird diese Variable mit dem
       verwendeten HTTP-Authentifizierungsmechanismus gefüllt.
      
     
  
  
 
 
  Beispiele
  
   
    Beispiel #1 $_SERVER-Beispiel
    
<?php
echo $_SERVER['SERVER_NAME'];
?>
     
    Das oben gezeigte Beispiel erzeugt
eine ähnliche Ausgabe wie:
 
  
  
 
  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.