Le langage PHP
Les  variables 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 PHP est soit le serveur soit le client.

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.

On peut donc classer les variables d'environnement en deux catégories:
o les variables d'environnement dépendant du client
o les variables d'environnement dépendant du serveur


 

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

Localisation de l'interpréteur de commandes sur la machine (Sous Windows).

$CONTENT_TYPE

Type de données contenues 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 connexion 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.

$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

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

Etat de la redirection (échec ou succès).

$REDIRECT_URL

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.


 

Affichage des variables d'environnement

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

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

<?php
phpinfo();
?>


PHP fournit aussi la fonction getenv() permettant de retourner la valeur de la variable d'environnement passée en paramètre.

<?php
echo getenv("HTTP_USER_AGENT");
?>


Cette variable contient l'adresse IP du client appelant le script.

<?php
echo getenv("$REMOTE_ADDR");
?>