Les variables d'environnement de PHP Sites sur le même sujet Télécharger des documentations

Notion de variable d'environnement

Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas du script PHP est:

Ces variables sont créées par le serveur à chaque fois que le script PHP est appelé, le serveur les lui fournit en paramètres cachés lors de l'exécution de l'interpréteur.

Elles permettent notamment d'avoir des informations sur le type de serveur, son administrateur, la date à laquelle le script a été appelé, l'adresse IP et le type de navigateur du client,...

Les variables d'environnement

On peut donc classer les variables d'environnement en deux catégories:

Les variables d'environnement dépendant du client

Variable d'environnement Description
$AUTH_TYPE Il s'agit de la méthode d'authentification qui a été utilisée par le client pour accéder au script PHP
$COMSPEC Location de l'interpréteur de commandes sur la machine (Sous Windows)
$CONTENT_TYPE Type de données contenu présent dans le corps de la requête. Il s'agit du type MIME des données
$DOCUMENT_ROOT Racine des documents sur le serveur
$DOCUMENT_URI Adresse du script PHP en relatif (à partir de la racine du serveur)
$HTTP_ACCEPT Types MIME reconnus par le serveur (séparés par des virgules)
$HTTP_ACCEPT_ENCODING Types d'encodage que le serveur peut réaliser (gzip,deflate)
$HTTP_ACCEPT_LANGUAGE Langue utilisée par le serveur (par défaut en-us)
$HTTP_CONNECTION Type de connection ouverte entre le client et le serveur (par exemple Keep-Alive)
$HTTP_HOST Nom d'hôte de la machine du client (associée à l'adresse IP)
$HTTP_REFERER URL de la page qui a appelé le script PHP
$HTTP_USER_AGENT Cette variable permet d'avoir des informations sur le type de navigateur utilisé par le client, ainsi que son système d'exploitation. Voici quelques exemples de User-Agents:
  • Mozilla/4.0 (compatible; MSIE 5.01; Windows NT; TUCOWS Network)
  • Mozilla/4.7 [en] (X11; I; Linux 2.2.14-15mdk i686)
$LAST_MODIFIED Date et heure de dernière modification du fichier
$PATH Il s'agit du chemin d'accès aux différents répertoires sur le serveur
$PATH_INFO Il s'agit du chemin d'accès au script PHP en relatif (de la racine du serveur jusqu'au script PHP)
$PHP_SELF Nom du script PHP
$REDIRECT_STATUS Il s'agit de l'état de la redirection (echec ou succès)
$REDIRECT_URL Il s'agit de l'URL vers laquelle le navigateur du client a été redirigé
$QUERY_STRING Il s'agit de la partie de l'URL (ayant servie à accéder au script PHP) située après le point d'interrogation. C'est de cette manière que sont transmises les données d'un formulaire dans le cas de la méthode GET
$REMOTE_ADDR Cette variable contient l'adresse IP du client appelant le script CGI
REMOTE_PORT Cette variable permet de savoir le port sur lequel la requête HTTP a été envoyée au serveur
SCRIPT_FILENAME Chemin d'accès complet au script PHP
  • Sous windows, il sera de la forme:
    c:/php/php.exe
SCRIPT_NAME Chemin d'accès relatif (par rapport au chemin d'accès à la racine web ($DOCUMENT_ROOT)) au script PHP

Les variables d'environnement dépendant du serveur

Variable d'environnement Description
$DATE_GMT Date actuelle au format GMT
$DATE_LOCAL Date actuelle au format local
$DOCUMENT_ROOT Racine des documents Web sur le serveur
$GATEWAY_INTERFACE Version des spécifications CGI utilisées par le serveur
$HTTP_HOST Nom de domaine du serveur
$SERVER_ADDR Adresse IP du serveur
$SERVER_ADMIN Adresse de l'administrateur du serveur
$SERVER_NAME Nom donné au serveur en local
$SERVER_PORT Numéro de port associé au protocole HTTP sur le serveur
$SERVER_PROTOCOL Nom et version du protocole utilisé pour envoyer la requête au script PHP
$SERVER_SOFTWARE Type (logiciel) du serveur web
  • Pour un serveur Apache sous Unix:
    Apache/1.3.2 (Unix) PHP/3.0.5
  • Pour un serveur Apache sous Windows:
    Apache/1.3.2 (Unix) PHP/3.0.5

Affichage des variables d'environnement

Il est possible de créer un script permettant de visualiser l'ensemble des variables d'environnement.

La première façon consiste à utiliser la fonction phpinfo() qui affiche toute seule un tableau récapitulatif des paramètres du serveur et de l'intepréteur PHP, ainsi qu'un tableau des variables d'environnement


<? 
phpinfo();
?>
PHP fournit la fonction getenv() permettant de retourner la valeur de la variable d'environnement passée en paramètre:

<? 
echo getenv("HTTP_USER_AGENT");
?>
Enfin il est possible de définir des variables d'environnement:

<? 
echo putenv("MA_VARIABLE=mavaleur");
?>


© Copyright 2001 Jean-François Pillou
Ce document issu de CommentCaMarche.net est soumis à la licence GNU FDL.Permission vous est donnée de distribuer, modifier des copies de cette page tant que cette note apparaît clairement.