<?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 => 'fr',
  ),
  'this' => 
  array (
    0 => 'reserved.variables.server.php',
    1 => '$_SERVER',
    2 => 'Variables de serveur et d\'ex&eacute;cution',
  ),
  'up' => 
  array (
    0 => 'reserved.variables.php',
    1 => 'Variables pr&eacute;d&eacute;finies',
  ),
  'prev' => 
  array (
    0 => 'reserved.variables.globals.php',
    1 => '$GLOBALS',
  ),
  'next' => 
  array (
    0 => 'reserved.variables.get.php',
    1 => '$_GET',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    '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">Variables de serveur et d&#039;exécution</span></p>

 </div>
 
 <div class="refsect1 description" id="refsect1-reserved.variables.server-description">
  <h3 class="title">Description</h3>
  <p class="para">
   <var class="varname">$_SERVER</var> est un <a href="language.types.array.php" class="link">tableau</a> contenant des informations
   telles que les en-têtes, les chemins et les emplacements de script.
   Les entrées de cet array sont créées par le serveur web, il n&#039;y a donc aucune
   garantie que chaque serveur web fournira chacune de ces informations ;
   les serveurs peuvent en omettre certaines ou en fournir d&#039;autres qui ne sont pas répertoriées ici.
   Cependant, la plupart de ces variables sont prises en compte dans la spécification
   <a href="https://datatracker.ietf.org/doc/html/rfc3875" class="link external">&raquo;&nbsp;CGI/1.1</a> et sont susceptibles d&#039;être définies.
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
    <span class="simpara">
     Lorsque PHP est exécuté en <a href="features.commandline.php" class="link">ligne de commande</a>
     , la plupart de ces entrées ne seront pas disponibles ou n&#039;auront aucun sens.
    </span>
  </p></blockquote>
  <p class="para">
   En plus des éléments énumérés ci-dessous, PHP créera des éléments supplémentaires
   avec des valeurs provenant des en-têtes de requête. Ces entrées seront nommées
   <code class="literal">HTTP_</code> suivi du nom de l&#039;en-tête,
   en majuscules et avec des traits de soulignement au lieu des tirets.
   Par exemple, l&#039;en-tête <code class="literal">Accept-Language</code> sera
   disponible sous la forme <code class="code">$_SERVER[&#039;HTTP_ACCEPT_LANGUAGE&#039;]</code>.
  </p>
 </div>

 
 <div class="refsect1 indices" id="refsect1-reserved.variables.server-indices">
  <h3 class="title">Indices</h3>
  
  <p class="para">
   <dl>
    
     <dt>&#039;<var class="varname">PHP_SELF</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Le nom du fichier du script en cours d&#039;exécution, par
       rapport à la racine web.
       Par exemple, <var class="varname">$_SERVER['PHP_SELF']</var> dans le script
       situé à l&#039;adresse <var class="filename">http://example.com/foo/bar.php</var>
       sera <var class="filename">/foo/bar.php</var>.
       La constante <a href="language.constants.magic.php" class="link">__FILE__</a>
       contient le chemin complet ainsi que le nom du fichier (c.-à-d. inclus) courant.
      </span>
      <span class="simpara">
       Si PHP fonctionne en ligne de commande,
       cette variable contient le nom du script.
      </span>
     </dd>
    
    
    
     <dt>&#039;<a href="reserved.variables.argv.php" class="link">argv</a>&#039;</dt>
     <dd>
      <span class="simpara">
       Tableau des arguments passés au script. Lorsque le script
       est appelé en ligne de commande, cela donne accès
       aux arguments, comme en langage C. Lorsque le script est
       appelé avec la méthode GET, ce tableau contiendra
       la chaîne de requête.
      </span>
     </dd>
    
    
    
     <dt>&#039;<a href="reserved.variables.argc.php" class="link">argc</a>&#039;</dt>
     <dd>
      <span class="simpara">
       Contient le nombre de paramètres de la ligne de commande
       passés au script (si le script fonctionne en ligne de commande).
      </span>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">GATEWAY_INTERFACE</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Numéro de révision de l&#039;interface CGI du serveur.
       Par exemple <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">
       L&#039;adresse IP du serveur sous lequel le script courant est en train
       d&#039;être exécuté.
      </span>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">SERVER_NAME</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Le nom du serveur hôte qui exécute le script suivant.
       Si le script est exécuté sur un hôte virtuel, ce sera
       la valeur définie pour cet hôte virtuel.
      </span>
      <blockquote class="note"><p><strong class="note">Note</strong>: 
       <span class="simpara">
        Sous Apache 2, <code class="literal">UseCanonicalName = On</code> et
        <code class="literal">ServerName</code> doivent être définis. 
        Sinon, cette valeur reflète le nom d&#039;hôte fourni par le client, qui peut être falsifié.
        Il n&#039;est pas sûr de se fier à cette valeur dans des contextes dépendants de la sécurité.
       </span>
      </p></blockquote>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">SERVER_SOFTWARE</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Chaîne d&#039;identification du serveur, qui est donnée dans
       les en-têtes lors de la réponse aux requêtes.
      </span>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">SERVER_PROTOCOL</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Nom et révision du protocole de communication ; par exemple <code class="literal">HTTP/1.0</code>;
      </span>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">REQUEST_METHOD</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Méthode de requête utilisée pour accéder à la page ;
       par exemple <code class="literal">GET</code>, <code class="literal">HEAD</code>,
       <code class="literal">POST</code>, <code class="literal">PUT</code>.
      </span>
      <blockquote class="note"><p><strong class="note">Note</strong>: 
       <p class="para">
        Le script PHP se termine après avoir envoyé les en-têtes (c&#039;est-à-dire après
        avoir produit n&#039;importe quelle sortie sans bufferisation de sortie) si
        la méthode de la requête était <code class="literal">HEAD</code>.
       </p>
      </p></blockquote>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">REQUEST_TIME</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Le timestamp du moment où PHP a commencé à traiter la requête.
      </span>
     </dd>
    

    
     <dt>&#039;<var class="varname">REQUEST_TIME_FLOAT</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Le timestamp du moment où PHP a commencé à traiter la requête,
       avec une précision à la microseconde.
      </span>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">QUERY_STRING</var>&#039;</dt>
     <dd>
      <span class="simpara">
       La chaîne de requête, si elle existe, qui est
       utilisée pour accéder à la page.
      </span>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">DOCUMENT_ROOT</var>&#039;</dt>
     <dd>
      <span class="simpara">
       La racine sous laquelle le script courant est exécuté,
       comme défini dans la configuration du serveur.
      </span>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">HTTPS</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Défini à une valeur non-vide si le script a été appelé via le protocole HTTPS.
      </span>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">REMOTE_ADDR</var>&#039;</dt>
     <dd>
      <span class="simpara">
       L&#039;adresse IP du client qui demande la page courante.
      </span>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">REMOTE_HOST</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Le nom de l&#039;hôte qui lit le script courant. La résolution
       DNS inverse est basée sur la valeur de <var class="varname">REMOTE_ADDR</var>.
      </span>
      <blockquote class="note"><p><strong class="note">Note</strong>: 
       <span class="simpara">
        Le serveur Web doit être configuré pour créer cette variable.
        Par exemple, dans Apache, <code class="literal">HostnameLookups On</code> doit être défini
        à l&#039;intérieur de <var class="filename">httpd.conf</var> pour qu&#039;il existe. Voir aussi
        <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">
       Le port utilisé par la machine cliente pour communiquer
       avec le serveur web.
      </span>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">REMOTE_USER</var>&#039;</dt>
     <dd>
      <span class="simpara">
       L&#039;utilisateur authentifié.
      </span>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">REDIRECT_REMOTE_USER</var>&#039;</dt>
     <dd>
      <span class="simpara">
       L&#039;utilisateur authentifié si la requête a été redirigée en interne.
      </span>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">SCRIPT_FILENAME</var>&#039;</dt>
     <dd>
      <p class="para">
       Le chemin absolu vers le fichier contenant le script en cours d&#039;exécution.
       <blockquote class="note"><p><strong class="note">Note</strong>: 
        <p class="para">
         Si un script est exécuté avec le CLI, avec un chemin relatif,
         comme <var class="filename">file.php</var> ou
         <var class="filename">../file.php</var>,
         <var class="varname">$_SERVER['SCRIPT_FILENAME']</var>
         contiendra le chemin relatif spécifié par l&#039;utilisateur.
         </p>
       </p></blockquote>
      </p>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">SERVER_ADMIN</var>&#039;</dt>
     <dd>
      <span class="simpara">
       La valeur donnée à la directive SERVER_ADMIN
       (pour Apache), dans le fichier de configuration. Si le script
       est exécuté par un hôte virtuel, ce sera la
       valeur définie par l&#039;hôte virtuel.
      </span>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">SERVER_PORT</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Le port de la machine serveur utilisé pour les
       communications. Par défaut, c&#039;est <code class="literal">&#039;80&#039;</code>. En utilisant
       SSL, par exemple, il sera remplacé par le numéro
       de port HTTP sécurisé.
      </span>
      <blockquote class="note"><p><strong class="note">Note</strong>: 
       <span class="simpara">
        Sous Apache 2, <code class="literal">UseCanonicalName = On</code>, ainsi que
        <code class="literal">UseCanonicalPhysicalPort = On</code> doivent être définis
        pour obtenir le port physique réel, sinon cette valeur peut être
        falsifiée et elle peut ou non retourner la valeur du port physique.
        Il n&#039;est pas sûr de se fier à cette valeur dans des contextes dépendants de la sécurité.
       </span>
      </p></blockquote>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">SERVER_SIGNATURE</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Chaîne contenant le numéro de version du serveur
       et le nom d&#039;hôte virtuel, qui sont ajoutés aux
       pages générées par le serveur, si cette
       option est activée.
      </span>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">PATH_TRANSLATED</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Chemin dans le système de fichiers (pas le document-root)
       jusqu&#039;au script courant, une fois que le serveur a fait
       une traduction chemin virtuel -&gt; réel.
      </span>
      <blockquote class="note"><p><strong class="note">Note</strong>: 
       <span class="simpara">
        Les utilisateurs d&#039;Apache 2 devraient utiliser <code class="literal">AcceptPathInfo = On</code>
        dans leur <var class="filename">httpd.conf</var> pour définir <var class="envar">PATH_INFO</var>.
       </span>
      </p></blockquote>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">SCRIPT_NAME</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Contient le nom du script courant. Cela sert lorsque
       les pages doivent s&#039;appeler elles-mêmes.
       La constante <a href="language.constants.magic.php" class="link">__FILE__</a>
       contient le chemin complet ainsi que le nom du fichier (c.-à-d. inclus) courant.
      </span>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">REQUEST_URI</var>&#039;</dt>
     <dd>
      <span class="simpara">
       L&#039;URI qui a été fourni pour accéder
       à cette page. Par exemple : &#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">
       Lors de l&#039;utilisation de l&#039;authentification HTTP Digest,
       cette variable est définie dans l&#039;en-tête <code class="literal">&quot;Authorization&quot;</code>
       envoyé par le client (qui doit donc être utilisé pour
       réaliser la validation appropriée).
      </span>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">PHP_AUTH_USER</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Lors de l&#039;utilisation de l&#039;authentification HTTP,
       cette variable est définie au nom d&#039;utilisateur fourni par le client.
      </span>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">PHP_AUTH_PW</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Lors de l&#039;utilisation de l&#039;authentification HTTP,
       cette variable est définie au mot de passe fourni par l&#039;utilisateur.
      </span>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">AUTH_TYPE</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Lors de l&#039;utilisation de l&#039;authentification HTTP,
       cette variable est définie au type d&#039;identification.
      </span>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">PATH_INFO</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Contient les informations sur le nom du chemin fourni par le client
       concernant le nom du fichier exécutant le script courant, sans
       la chaîne relative à la requête si elle existe. Actuellement,
       si le script courant est exécuté via l&#039;URI
       <var class="filename">http://www.example.com/php/path_info.php/some/stuff?foo=bar</var>,
       alors la variable <var class="varname">$_SERVER['PATH_INFO']</var> contiendra
       <code class="literal">/some/stuff</code>.
      </span>
     </dd>
    
    
    
     <dt>&#039;<var class="varname">ORIG_PATH_INFO</var>&#039;</dt>
     <dd>
      <span class="simpara">
       Version originale de &#039;<var class="varname">PATH_INFO</var>&#039; avant d&#039;être analysée
       par PHP.
      </span>
     </dd>
    
    
   </dl>
  </p>
  
 </div>


 <div class="refsect1 examples" id="refsect1-reserved.variables.server-examples">
  <h3 class="title">Exemples</h3>
  <p class="para">
   <div class="example" id="variable.server.basic">
    <p><strong>Exemple #1 Exemple avec <var class="varname">$_SERVER</var></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>Résultat de l&#039;exemple ci-dessus est similaire à :</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">Notes</h3>
  <blockquote class="note"><p><strong class="note">Note</strong>: <p class="para">
 Ceci est une &#039;superglobale&#039;, ou variable globale automatique. Cela signifie simplement que cette variable
 est disponible dans tous les contextes du script. Il n&#039;est pas nécessaire de faire <strong class="command">global $variable;</strong>
 pour y accéder dans les fonctions ou les méthodes.
</p></p></blockquote>
 </div>

 
 <div class="refsect1 seealso" id="refsect1-reserved.variables.server-seealso">
  <h3 class="title">Voir aussi</h3>
  <p class="para">
   <ul class="simplelist">
    <li><a href="book.filter.php" class="link">L&#039;extension sur les filtres</a></li>
   </ul>
  </p>
 </div>

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