<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/reserved.variables.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'de',
  ),
  'this' => 
  array (
    0 => 'reserved.variables.server.php',
    1 => '$_SERVER',
    2 => 'Informationen &uuml;ber Server und Ausf&uuml;hrungsumgebung',
  ),
  'up' => 
  array (
    0 => 'reserved.variables.php',
    1 => 'Vordefinierte Variablen',
  ),
  'prev' => 
  array (
    0 => 'reserved.variables.globals.php',
    1 => '$GLOBALS',
  ),
  'next' => 
  array (
    0 => 'reserved.variables.get.php',
    1 => '$_GET',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    'path' => 'language/predefined/variables/server.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="reserved.variables.server" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">$_SERVER</h1>
  <p class="verinfo">(PHP 4 &gt;= 4.1.0, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">$_SERVER</span> &mdash; <span class="dc-title">Informationen über Server und Ausführungsumgebung</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-reserved.variables.server-description">
  <h3 class="title">Beschreibung</h3>
  <p class="para">
   <var class="varname">$_SERVER</var> ist ein <a href="language.types.array.php" class="link">Array</a>, das Informationen wie Header,
   Pfade und die verschiedenen Wege, das Skript anzusprechen beinhaltet. Die
   Einträge in diesem Array werden vom Webserver erstellt, weshalb es keine
   Garantie dafür gibt, dass jeder Webserver alle diese Einträge unterstützt -
   Server können einige weglassen oder andere Einträge unterstützen, die hier
   nicht aufgeführt sind. Die meisten dieser Variablen werden jedoch in der
   <a href="https://datatracker.ietf.org/doc/html/rfc3875" class="link external">&raquo;&nbsp;CGI/1.1-Spezifikation</a> ausgewiesen
   und sind wahrscheinlich definiert.
  </p>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
   <span class="simpara">
    Wenn PHP auf der <a href="features.commandline.php" class="link">Kommandozeile</a>
    läuft, sind die meisten dieser Einträge nicht verfügbar oder haben keine
    Bedeutung.
   </span>
  </p></blockquote>
  <p class="para">
   Zusätzlich zu den unten aufgelisteten Elementen erstellt PHP weitere
   Elemente mit Werten aus Anfrage-Headern. Diese Einträge erhalten die
   Bezeichnung <code class="literal">HTTP_</code>, gefolgt vom Namen des Headers in
   Großbuchstaben und mit Unterstrichen anstelle von Bindestrichen. Zum
   Beispiel wäre der <code class="literal">Accept-Language</code>-Header als
   <code class="code">$_SERVER[&#039;HTTP_ACCEPT_LANGUAGE&#039;]</code> verfügbar.
  </p>
 </div>


 <div class="refsect1 indices" id="refsect1-reserved.variables.server-indices">
  <h3 class="title">Indizes</h3>

  <p class="para">
   <dl>
    
     <dt>&#039;<var class="varname">PHP_SELF</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Der Dateiname des aktuell ausgeführten Skripts, relativ zum
       Document-Root. Beispielsweise enthält
       <var class="varname">$_SERVER['PHP_SELF']</var> in einem Skript, das über die
       Adresse <var class="filename">http://example.com/foo/bar.php</var> aufgerufen
       wird, den Wert <var class="filename">/foo/bar.php</var>. Die Konstante
       <a href="language.constants.magic.php" class="link">__FILE__</a> enthält
       den vollständigen Pfad und Dateinamen der aktuellen (z. B. via include
       eingebundenen) Datei.
      </span>
      <span class="simpara">
       Falls PHP als Kommandozeilenprogramm läuft, enthält diese Variable den
       Namen des Skripts.
      </span>
     </dd>
    

    
     <dt>&#039;<a href="reserved.variables.argv.php" class="link">argv</a>&#039;</dt>
     <dd>
      <span class="simpara">
       Das Array der an das Skript übergebenen Argumente. Wenn das Skript auf
       der Kommandozeile ausgeführt wird, ermöglicht dies den Zugriff auf die
       Kommandozeilenparameter im C-Stil. Wird das Skript via GET aufgerufen,
       enthält die Variable den Querystring.
      </span>
     </dd>
    

    
     <dt>&#039;<a href="reserved.variables.argc.php" class="link">argc</a>&#039;</dt>
     <dd>
      <span class="simpara">
       Enthält die Anzahl der per Kommandozeile an das Skript übergebenen
       Parameter (sofern das Skript auf der Kommandozeile ausgeführt wird).
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">GATEWAY_INTERFACE</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Enthält die Version der vom Server verwendete CGI-Spezifikation, z. B.
       <code class="literal">&#039;CGI/1.1&#039;</code>.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">SERVER_ADDR</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Die IP-Adresse des Servers, auf dem das aktuelle Skript ausgeführt
       wird.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">SERVER_NAME</var>&#039;</dt>
     <dd>
      <span class="simpara">
       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.
      </span>
      <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
       <span class="simpara">
        Unter Apache 2 müssen <code class="literal">UseCanonicalName = On</code> und
        <code class="literal">ServerName</code> 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.
       </span>
      </p></blockquote>
     </dd>
    

    
     <dt>&#039;<var class="varname">SERVER_SOFTWARE</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Die Identifikation der verwendeten Server-Software, die bei einer
       Antwort auf den eingegangenen Request verwendet wird.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">SERVER_PROTOCOL</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Der Name und die Versionsnummer des verwendeten Übertragungsprotokolls,
       mittels dessen die aktuelle Seite aufgerufen wurde, z. B.
       <code class="literal">&#039;HTTP/1.0&#039;</code>.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">REQUEST_METHOD</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Die Requestmethode, die verwendet wurde, um die Seite aufzurufen; z. B.
       <code class="literal">&#039;GET&#039;</code>, <code class="literal">&#039;HEAD&#039;</code>,
       <code class="literal">&#039;POST&#039;</code>, <code class="literal">&#039;PUT&#039;</code>.
      </span>
      <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
       <p class="para">
        Ist die Requestmethode <code class="literal">HEAD</code>, wird ein PHP-Skript
        beendet, nachdem die Header gesendet wurden (sofern Ausgaben ohne die
        Verwendung des Ausgabepuffers (output buffering) erzeugt werden).
       </p>
      </p></blockquote>
     </dd>
    

    
     <dt>&#039;<var class="varname">REQUEST_TIME</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Der Timestamp des Zeitpunkts, an dem PHP mit der Verarbeitung der
       Anfrage begonnen hat.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">REQUEST_TIME_FLOAT</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Der Timestamp des Zeitpunkts, an dem PHP mit der Verarbeitung der
       Anfrage begonnen hat, mit Mikrosekunden-Genauigkeit.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">QUERY_STRING</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Sofern vorhanden, der Querystring, mittels dessen auf die Seite
       zugegriffen wurde.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">DOCUMENT_ROOT</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Das Document-Root-Verzeichnis, unter dem das aktuelle Skript ausgeführt
       wird, so wie es in der Konfiguration des Servers festgelegt wurde.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">HTTPS</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Wird auf einen nicht-leeren Wert gesetzt, wenn das Skript via HTTPS
       aufgerufen wurde.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">REMOTE_ADDR</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Die IP-Adresse, von der aus der Benutzer die aktuelle Seite ansieht.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">REMOTE_HOST</var>&#039;</dt>
     <dd>
      <span class="simpara">
       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 <var class="varname">REMOTE_ADDR</var> des Benutzers.
      </span>
      <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
       <span class="simpara">
        Der Webserver muss so konfiguriert sein, dass er diese Variable
        erzeugt. Zum Beispiel muss bei Apache in der <var class="filename">httpd.conf</var> die
        Direktive <code class="literal">HostnameLookups On</code> gesetzt werden, damit
        sie existiert. Siehe auch <span class="function"><a href="function.gethostbyaddr.php" class="function">gethostbyaddr()</a></span>.
       </span>
      </p></blockquote>
     </dd>
    

    
     <dt>&#039;<var class="varname">REMOTE_PORT</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Der vom Rechner des Benutzers verwendete Port, um mit dem Webserver zu
       kommunizieren.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">REMOTE_USER</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Der beglaubigte Benutzer.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">REDIRECT_REMOTE_USER</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Der beglaubigte Benutzer, falls der Request intern weitergeleitet
       wurde.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">SCRIPT_FILENAME</var>&#039;</dt>
     <dd>
      <p class="para">
       Der absolute Pfad des aktuell ausgeführten Skripts.
       <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
        <p class="para">
         Wenn ein Skript als CLI mit einem relativen Pfad wie
         <var class="filename">file.php</var> oder <var class="filename">../file.php</var>
         ausgeführt wird, enthält
         <var class="varname">$_SERVER['SCRIPT_FILENAME']</var> den vom Benutzer
         angegebenen relativen Pfad.
        </p>
       </p></blockquote>
      </p>
     </dd>
    

    
     <dt>&#039;<var class="varname">SERVER_ADMIN</var>&#039;</dt>
     <dd>
      <span class="simpara">
       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.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">SERVER_PORT</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Der Port, der auf dem Server vom Webserver für die Kommunikation
       genutzt wird. In einer Standardumgebung ist dies
       <code class="literal">&#039;80&#039;</code>; wenn Sie beispielsweise SSL verwenden, wird
       dieser Wert auf den Port geändert, über den Sie Ihre verschlüsselte
       HTTP-Kommunikation abwickeln.
      </span>
      <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
       <span class="simpara">
        Unter Apache 2 müssen <code class="literal">UseCanonicalName = On</code> sowie
        <code class="literal">UseCanonicalPhysicalPort = On</code> gesetzt werden, 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 auch nicht. Es ist nicht sicher, sich in einem
        sicherheitsabhängigen Umfeld auf diesen Wert zu verlassen.
       </span>
      </p></blockquote>
     </dd>
    

    
     <dt>&#039;<var class="varname">SERVER_SIGNATURE</var>&#039;</dt>
     <dd>
      <span class="simpara">
       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.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">PATH_TRANSLATED</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Auf dem Dateisystem (nicht dem Document-Root!) basierender Pfad zum
       aktuellen Skript, nachdem der Server ein Virtual-to-Real-Mapping
       durchgeführt hat.
      </span>
      <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
       <span class="simpara">
        Apache 2-Benutzer können die Direktive <code class="literal">AcceptPathInfo =
        On</code> in der <var class="filename">httpd.conf</var> verwenden, um
        einen Wert für <var class="envar">PATH_INFO</var> zu definieren.
       </span>
      </p></blockquote>
     </dd>
    

    
     <dt>&#039;<var class="varname">SCRIPT_NAME</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Enthält den Pfad zum aktuellen Skript. Dies ist nützlich für Seiten,
       die auf sich selbst verweisen sollen. Die Konstante
       <a href="language.constants.magic.php" class="link">__FILE__</a> enthält
       den vollständigen Pfad und Dateinamen der aktuellen (z. B. via include
       eingebundenen) Datei.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">REQUEST_URI</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Der URI, der angegeben wurde, um auf die aktuelle Seite zuzugreifen,
       beispielsweise &#039;<code class="literal">/index.html</code>&#039;.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">PHP_AUTH_DIGEST</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Wenn die Digest HTTP Authentication verwendet wird, wird diese Variable
       mit dem Inhalt des vom Client gesendeten &#039;Authorization&#039;-Headers
       gefüllt, welchen Sie für eine adäquate Validierung nutzen sollten.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">PHP_AUTH_USER</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Wenn die HTTP Authentication verwendet wird, wird diese Variable mit
       dem vom Benutzer angegebenen Usernamen gefüllt.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">PHP_AUTH_PW</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Wenn die HTTP Authentication verwendet wird, wird diese Variable mit
       dem vom Benutzer angegebenen Passwort gefüllt.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">AUTH_TYPE</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Wenn die HTTP Authentication verwendet wird, wird diese Variable mit
       dem verwendeten HTTP-Authentifizierungsmechanismus gefüllt.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">PATH_INFO</var>&#039;</dt>
     <dd>
      <span class="simpara">
       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 URI
       <var class="filename">http://www.example.com/php/path_info.php/some/stuff?foo=bar</var>
       aufgerufen wird, würde <var class="varname">$_SERVER['PATH_INFO']</var>
       <code class="literal">/some/stuff</code> enthalten.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">ORIG_PATH_INFO</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Originalversion von &#039;<var class="varname">PATH_INFO</var>&#039; vor der Verarbeitung
       durch PHP.
      </span>
     </dd>
    

   </dl>
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-reserved.variables.server-examples">
  <h3 class="title">Beispiele</h3>
  <p class="para">
   <div class="example" id="variable.server.basic">
    <p><strong>Beispiel #1 <var class="varname">$_SERVER</var>-Beispiel</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'SERVER_NAME'</span><span style="color: #007700">];<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt
eine ähnliche Ausgabe wie:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">www.example.com</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 notes" id="refsect1-reserved.variables.server-notes">
  <h3 class="title">Anmerkungen</h3>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: <p class="para">Dies ist eine &#039;Superglobale&#039;
oder automatisch globale Variable. Dies bedeutet, dass sie innerhalb
des Skripts in jedem Geltungsbereich sichtbar ist. Es ist nicht
nötig, sie mit <strong class="command">global $variable</strong> bekannt zu
machen, um aus Funktionen oder Methoden darauf zuzugreifen.</p>
</p></blockquote>
 </div>


 <div class="refsect1 seealso" id="refsect1-reserved.variables.server-seealso">
  <h3 class="title">Siehe auch</h3>
  <p class="para">
   <ul class="simplelist">
    <li><a href="book.filter.php" class="link">Die Filter-Erweiterung</a></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>