Exercices
Questions à choix multiple

Leçon N° 19 : Les variables d environnement

Les options de PHP php.ini
Les extensions
Les variables d'environnement
Divers
Notes de page

Les options de PHP (php.ini)

  1. Fonction à utiliser pour connaître la valeur d'une option du php.ini ou d'une autre variable d'environnement:
    string get_cfg_var ( string varname)
    retourne la valeur courante de l'option PHP varname, ou bien FALSE en cas d'erreur.
    Pour vérifier si le système utilise le fichier de configuration, essayez de lire la valeur de la variable d'environnement cfg_file_path. Si cette valeur est disponible, alors le fichier de configuration est utilisé et son enplacement est donné par cette variable.
    Liste des noms des options de configuration
  2. Modification de ces valeurs : Lorsque l'on affecte par programme une nouvelle valeur à une variable du php.ini, on ne change pas dans le fichier php.ini mais on crée une version 'locale' de la variable.
    FonctionDescription
    array ini_get_all ( [string extension]) Toutes les valeurs du php.ini
    string ini_get ( string varname) Une valeur du php.ini
    string ini_set ( string varname, string newvalue)
    string ini_alter ( string varname, string newvalue)
    Change une valeur de php.ini, en cas de succès renvoie l'ancienne valeur
    string ini_restore ( string varname) Remet une variable à la valeur du php.ini
Accès et modifications provisoire des variables du php.ini
Nom du fichier : exercises_19/lesson_19_d0_phpini.php

Les extensions de PHP

Vérification des extensions chargées
Nom du fichier : exercises_18/lesson_18_b0_print.php

Accès aux variables d'environnement

Les principales variables d'environnement :
VariableContenu
AUTH_TYPE Methode d'autentification utilisée
CONTENT_LENGTH
CONTENT_TYPE Données transmises par HTTP POST ou PUT
DOCUMENT_ROOTLa racine sous laquelle le script courant est exécuté
GATEWAY_INTERFACE :Format: CGI/revision
HTTP_ACCEPTTypes MIME acceptés par le clien:
HTTP_ACCEPTContenu de l'en-tête Accept: de la requête courante, s'il y en a une.
HTTP_ACCEPT_CHARSETContenu de l'en-tête Accept-Charset: de la requête courante, s'elle existe.
Par exemple : 'iso-8859-1,*,utf-8'.
HTTP_ACCEPT_ENCODINGContenu de l'en-tête Accept-Encoding: Par exemple : 'gzip'.
HTTP_ACCEPT_LANGUAGEContenu de l'en-tête Accept-Language: Par exemple : 'fr'.
HTTP_CONNECTIONContenu de l'en-tête Connection:Par exemple : 'Keep-Alive'.
HTTP_HOSTContenu de l'en-tête Host: de la requête courante, si elle existe.
HTTP_REFERERL'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.
Certains navigateur permettent même de modifier la valeur de HTTP_REFERER,
sous forme de fonctionnalité. En bref, ce n'est pas une valeur de confiance.
HTTP_USER_AGENTContenu de l'en-tête User_Agent: Type de navigateur)
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.
PATH_INFO : path information
PATH_TRANSLATED Path après mapping virtuel->physique mapping
PHP_SELFLe nom du fichier du script en cour d'éxécution, par rapport au document root. Par exemple, $_SERVER['PHP_SELF'] dans le script situé à l'adresse http://www.monsite.com/test.php/foo.bar sera /test.php/foo.bar. (Utiliser basename() pour récupere le nom du ficher)
QUERY_STRING Ce qui suit le ? dans l'URL
REMOTE_ADDR Adresse IP de l'hôte
REMOTE_HOST L'hote executant la requête
REMOTE_IDENT Identificateurr " "
REMOTE_USER Utilisateur si le serveur supporte l'autentification
REMOTE_PORT Le port utilisé par la machine cliente pour communiquer avec le serveur web.
REQUEST_METHOD : Methode de requête "GET", "HEAD", "POST", etc.
REQUEST_URLL'URL qui a été fourni pour accéder à cette page. Par ex : '/index.html'.
SCRIPT_NAME Nom du fichier dans lequel est contenu le script
SCRIPT_FILENAMELe 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_NAME: Nom d'hote du serveur alias du DNS(URL)
SERVER_PORT N° de port
SERVER_PROTOCOL : Nom et version du protocole
SERVER_SOFTWARE : Nom et version du serveur HTTP
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.
Modification d'une variable d'environnement :
Syntaxe :
void putenv ( string setting) : fixe la valeur d'une variable d'environnement.
Cette valeur n'existera que durant la vie du script courant, et l'environnement initial sera restauré lorsque le script sera terminé.
Modifier la valeur de certaines variables système peut être un trou de sécurité considérable. La directive de configuration safe_mode_allowed_env_vars contient une liste de préfixes, séparés par des virgules. Lorsque le "Safe Mode" est actif, l'utilisateur ne peut que modifier les variables dont le nom commence par les préfixes fournis par cette directive.
Par défaut, les utilisateurs ne peuvent modifier que les variables qui commencent par PHP_ (i.e. PHP_XXX=BAR).
Note: si cette directive est vide, PHP autorisera la modification de TOUTES les variables d'environnement!.
La directive de configuration safe_mode_protected_env_vars contient une liste de variables d'environnement, séparées par des virgules. Les utilisateurs ne pourront pas modifier ces variables avec la fonction putenv(). Ces variables seront protégées même si safe_mode_allowed_env_vars permet leur modification.
Les variables d'environment
Nom du fichier : exercises_19/lesson_19_c0_environment.php

Autres

FunctionDescription
get_current_user Retourne le nom du possesseur du script courant.
get_defined_constants Retourne la liste des constantes et leur valeur
get_included_files Retourne un tableau avec les noms des fichiers qui sont inclus dans un script
get_magic_quotes_gpc Retourne la configuration actuelle de l'option magic_quotes_gpc. magic_quotes_gpc fixe le mode magic_quotes pour les opérations GPC (Get/Post/Cookie). Lorsque magic_quotes est activé, tous les caractères ' (guillemets simples), " (guillemets doubles), \ (antislash) et NUL sont échappés avec un antislash. Si magic_quotes_sybase fonctionne aussi, les guillemets simples seront échappés avec un autre guillemet simple, plutôt qu'un antislash.
get_magic_quotes_runtime Retourne la configuration actuelle de l'option magic_quotes_runtime. Si magic_quotes_runtime est activé, toutes les fonctions qui obtiennent des données auprès d'une source externe, y compris les bases de données et les fichiers texte, verront leur guillemets échappés avec un antislash. Si magic_quotes_sybase est aussi activé, les guillemets simples seront échappés avec un autre guillemet simple, plutôt qu'un antislash.
get_required_filesRetourne un tableau avec les noms des fichiers qui sont requis et inclus dans un script
getenvRetourne la valeur de la variable d'environnement.
getlastmodRetourne la date de dernière modification de la page.
getmygidRetourne le GID du propriétaire du script
getmyinodeRetourne l'inode du script.
getmypidRetourne le numéro de processus courant.
getmyuidRetourne l'UID du propriétaire du script actuel.
getrusageRetourne le niveau d'utilisation des ressources.
Autres variables diverses
Nom du fichier : exercises_19/lesson_19_f0_others.php
Rappel : Font aussi partie des variables d'environnement les variables de formattage de chiffre (symbole décimal,...) vues au chapitre 16
Formattage de texte: symbole décimal...(leçon 16)

Tous droits réservés. 2005-2008