Les variables d'environnement sont des informations concernant l'environnement du script au niveau du serveur et du client. On y trouve, en particulier, des informations sur le type de serveur, le chemin et le nom du script appelé, le navigateur du client, etc... Voici comment les utiliser.

1- Définition

Les variables d'environnement sont stockées directement dans les variables associées à leur nom. Vous pouvez également les obtenir depuis le tableau superglobal $_SERVER ou à l'aide de la fonction getenv (que l'on reverra plus tard).

Par exemple, pour obtenir le type de navigateur du visiteur :

  1. <?
  2. echo '<p>Avec _SERVER : ' . $_SERVER['HTTP_USER_AGENT'] . '</p>';
  3. echo '<p>Avec getenv() : ' . getenv('HTTP_USER_AGENT') . '</p>';
  4. ?>

Ce qui donne :

2- Liste de ces variables

La liste des variables d'environnement est disponible en appelant la fonction phpinfo(). La liste étant très importante, nous ne pouvons pas toutes les étudier.

Nous nous contenterons donc les principales :

NomDescription (exemple)
DOCUMENT_ROOTRacine du serveur (/home/www/phpfrance)
HTTP_ACCEPT_LANGUAGELangage accepté par le navigateur client (fr,ie-ee;q=0.5)
HTTP_HOSTNom de domaine du serveur (phpfrance.com)
HTTP_USER_AGENTNavigateur (et système) et client (Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041109 Firefox/1.0)
REMOTE_ADDRAdresse IP du client (212.78.54.36)
REMOTE_PORTPort sur lequel la requête HTTP a été envoyée au serveur (1211)
SERVER_ADDRAdresse IP du serveur (209.15.23.241)
SERVER_ADMINAdresse de l'administrateur du serveur (damien@phpfrance.com)
SERVER_NAMENom local du serveur (localhost)
SERVER_SIGNATUREType de serveur (Apache/1.3.12 Server at 127.0.0.1 Port 80)
REQUEST_METHODMéthode d'appel du script (GET)
QUERY_STRINGListe des paramètres passés au script (id=14&page=3&action=voir)
REQUEST_URIChemin du script (/chemin/script.php?id=14&page=3&action=voir)
PATH_INFOChemin web du script (/chemin/script.php)
PATH_TRANSLATEDChemin complet du script (/home/www/phpfrance/chemin/script.php)

3- Fonctions utiles

phpinfo

Cette fonction permet d'obtenir des informations sur l'installation et la configuration de PHP avec, en particulier, la liste des variables d'environnement. Très souvent utile.

  1. <?php
  2.  
  3.  
  4. ?>

getenv

Comme nous l'avons vu un peu plus haut, cette fonction permet de récupérer les variables d'environnement.

  1. <?php
  2.  
  3. function navigateur()
  4. {
  5.  
  6. echo getenv("HTTP_USER_AGENT");
  7.  
  8. }
  9.  
  10. ?>

putenv

Enfin, putenv permet, quant à elle, de définir une variable d'environnement.

  1. <?php
  2.  
  3. putenv("VARIABLE=valeur");
  4.  
  5. ?>

En cas de problème, n'hésitez pas à vous rendre dans les forums.
Vous pouvez aussi consulter le tutorial de commentcamarche.