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,...
On peut donc classer les variables d'environnement en deux catégories:
- Les variables d'environnement dépendant du client
- Les variables d'environnement dépendant du serveur
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 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. Voici quelques exemples de User-Agents:
|
$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 servi à 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 |
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
|
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");
?>
|