Cette section est la documentation qui avait cours jusqu'en PHP
version 4.1.2. Elle est laissée ici pour assurer la transition
avec les nouvelles versions, qui ont abandonné définitivement
leur usage. Nous recommandons vivement au lecteur la
section précédente.
Pour assurer une meilleure compatibilité de vos scripts avec
les nouvelles versions de PHP, n'utilisez plus ces variables.
Malgré ces données, voici une liste de variables
prédéfinies, qui seront accessibles avec une
installation ad hoc de PHP3, fonctionnant en module, sous
Apache 1.3.6.
Pour la liste complète des variables prédéfinies
(et d'autres informations pratiques) reportez-vous (et usez) de
phpinfo().
Note :
Cette liste n'est pas exhaustive et ne le sera pas. C'est simplement un
aperçu des variables prédéfinies qui
peuvent être accessibles dans les scripts.
Ces variables sont créées par le serveur
Apache. Si vous utilisez un autre
serveur web, il n'est pas sur que celui-ci vous fournira
les mêmes variables. Il peut ne pas les fournir, en
fournir d'autres. Cependant, un bon nombre de ces variables
font partie de l'interface CGI 1.1,
et on peut s'attendre à les retrouver.
Notez que peu d'entre elles seront accessibles lorsque PHP est appelé
en ligne de commande, (et elles n'auront alors peut être pas de sens)
$GATEWAY_INTERFACE
Numéro de révision de l'interface CGI du serveur :
i.e. 'CGI/1.1'.
$SERVER_NAME
Le nom du serveur hôte qui éxé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.
$SERVER_SOFTWARE
Chaîne d'identification du serveur, qui est donnée dans
les en-têtes lors de la réponse aux requêtes.
$SERVER_PROTOCOL
Nom et révision du protocole de communication : i.e. 'HTTP/1.0';
$REQUEST_METHOD
Méthode de requête utilisée pour accéder
à la page; i.e. 'GET', 'HEAD', 'POST', 'PUT'.
$QUERY_STRING
La chaîne de requête, si elle existe, qui est
utilisée pour accéder à la page.
$DOCUMENT_ROOT
La racine sous laquelle le script courant est exécuté,
comme défini dans la configuration du serveur.
$HTTP_ACCEPT
Contenu de l'en-tête Accept: de la
requête courante, s'il y en a une.
$HTTP_ACCEPT_CHARSET
Contenu de l'en-tête Accept-Charset:
de la requête courante, s'elle existe. Par exemple :
'iso-8859-1,*,utf-8'.
$HTTP_ACCEPT_ENCODING
Contenu de l'en-tête Accept-Encoding:
de la requête courante, si elle existe. Par exemple : 'gzip'.
$HTTP_ACCEPT_LANGUAGE
Contenu de l'en-tête Accept-Language: de
la requête courante, si elle existe. Par exemple : 'en'.
$HTTP_CONNECTION
Contenu de l'en-tête Connection: de la
requête courante, si elle existe. Par exemple : 'Keep-Alive'.
$HTTP_HOST
Contenu de l'en-tête Host: de la
requête courante, si elle existe.
$HTTP_REFERER
L'adresse de la page (si elle existe) qui a conduit le
client à la page courante. Cette valeur est
affectée par le client, et tous les clients ne le font pas.
$HTTP_USER_AGENT
Contenu de l'en-tête User_Agent: de
la requête courante, si elle existe. C'est une chaîne
qui décrit le client HTML utilisé pour voir
la page courante. Par exemple :
Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586).
Entre autres choses, vous pouvez utiliser cette valeur avec
get_browser() pour optimiser votre page
en fonction des capacités du client.
$REMOTE_ADDR
L'adresse IP du client qui demande la page courante.
$REMOTE_PORT
Le port utilisé par la machine cliente pour communiquer
avec le serveur web.
$SCRIPT_FILENAME
Le chemin absolu jusqu'au script courant.
$SERVER_ADMIN
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'hôte virtuel.
$SERVER_PORT
Le port de la machine serveur utilisé pour les
communications. Par défaut, c'est '80'. En utilisant
SSL, par exemple, il sera remplacé par le numéro
de port HTTP sécurisé.
$SERVER_SIGNATURE
Chaîne contenant le numéro de version du serveur
et le nom d'hôte virtuel, qui sont ajoutés aux
pages générées par le serveur, si cette
option est activée.
$PATH_TRANSLATED
Chemin dans le système de fichier (pas le document root-)
jusqu'au script courant, une fois que le serveur a fait
une chemin traduction virtuel->réel.
$SCRIPT_NAME
Contient le nom du script courant. Cela sert lorsque
les pages doivent s'appeler elles-mêmes.
$REQUEST_URI
L'URI qui a été fourni pour accéder
à cette page. Par exemple : '/index.html'.
Ces variables sont importées dans l'espace de nom global
de PHP, depuis l'environnement sous lequel PHP fonctionne. Beaucoup
d'entre elles sont fournies par le shell qui exécute PHP et
différents systèmes étant susceptibles
de disposer de différents shells, une liste définitive
est impossible à établir. Reportez-vous à la
documentation de votre shell, pour connaître la liste des
variables d'environnement prédéfinies.
Les autres variables d'environment incluent les variables CGI,
placées ici, quelquefois la méthode
d'éxécution de PHP (CGI ou module).
Ces variables sont créées par PHP lui_même.
Les variables $HTTP_*_VARS ne sont disponibles
que si l'option de configuration
track_vars a
été activée. Lorsque c'est le cas, ces variables
existent toujours, même si ce sont des tableaux vides. Cela évite les
usurpations mal intentionnées de ces variables.
Note :
Depuis PHP 4.0.3,
track_vars est toujours
activé, quelle que soit la configuration.
Si la directive
register_globals est activée,
alors ces variables seront aussi disponibles comme variables
globales du script : c'est-à-dire, indépendamment des tableaux
$HTTP_*_VARS. Cette fonctionnalité
doit être utilisée avec précautions, et de
préférence, désactivée.
Si $HTTP_*_VARS est sécurisé,
les équivalents globaux peuvent être écrasés
par les données d'entrée de l'utilisateur,
avec des intrusions possibles. Si vous ne pouvez pas désactiver
register_globals, vous
devez prendre toutes les dispositions possibles pour vous assurer
que les données utilisées sont sÛres.
$argv
Tableau des arguments passées 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.
$argc
Contient le nombre de paramètres de la ligne de commande
passés au script (si le script fonctionne en ligne de commande).
$PHP_SELF
Le nom du fichier du script en cour d'éxécution, par
rapport au document root. Si PHP fonctionne en ligne de commande,
cette variable n'est pas disponible.
$HTTP_COOKIE_VARS
Un tableau associatif des variables passées au script
courant via les HTTP cookies. Uniquement possible si le suivi
des variables a été activé avec
la directive générale
track_vars ou
avec la directive locale
<? php_track_vars ?>.
$HTTP_GET_VARS
Un tableau associatif des variables passées au script
courant via les HTTP GET. Uniquement possible si le suivi des
variables a été activé avec la directive
générale
track_vars ou
avec la directive locale
<? php_track_vars ?>.
$HTTP_POST_VARS
Un tableau associatif des variables passées au script
courant via les HTTP POST. Uniquement possible si le suivi des
variables a été activé avec la directive
générale
track_vars ou
avec la directive locale
<? php_track_vars ?>.
$HTTP_POST_FILES
Un tableau associatif contenant les informations sur les
fichiers téléchargés avec la méthode
HTTP POST. Reportez-vous au chapitre
Téléchargement par méthode POST
pour plus de détails sur le contenu de
$HTTP_POST_FILES.
$HTTP_POST_FILES n'est disponible que dans
les versions 4.0.0 et plus récentes de PHP.
$HTTP_ENV_VARS
Un tableau associatif des variables passées au script
par l'environnement parent.
$HTTP_SERVER_VARS
Un tableau associatif des variables passées au script
par le serveur HTTP. Ces variables sont analogues
aux variables décrites ci-dessus.