Chapitre 4. Configuration

Table des matières
Le fichier de configuration

Le fichier de configuration

Le fichier de configuration ( appelé php3.ini dans la version 3.0 du PHP , et simplement php.ini dans la version 4.0 ) est lu par le PHP au démarrage . Si vous avez compilé PHP en module , le fichier n' est lu qu 'une seule fois , au lancement du démon HTTP . Pour la version CGI le fichier est lu à chaque invocation .

Exemple 4-1 . Extrait du php.ini

 
;

 
tout

 
texte

 
sur

 
une

 
ligne

 
,

 
situé

 
après

 
un

 
point-virgule

 
"

 
;

 
"

 
est

 
ignoré

 
[php

 
]

 
;

 
les

 
marqueur

 
de

 
section

 
(texte

 
entre

 
crochets

 
)

 
sont

 
aussi

 
ignorés

 
;

 
Les

 
valeurs

 
booléenne

 
peuvent

 
être

 
spécifiées

 
comme

 
ceci

 
:

 
;

 
true

 
,

 
on

 
,

 
yes

 
;

 
ou

 
false

 
,

 
off

 
,

 
no

 
,

 
none

 
register_globals

 
=

 
off

 
magic_quotes_gpc

 
=

 
yes

 
;

 
vous

 
pouvez

 
placer

 
les

 
chaînes

 
de

 
caractères

 
entre

 
guillemets

 
include_path

 
=

 
".

 
:

 
/

 
usr

 
/

 
local

 
/

 
lib

 
/

 
php

 
"

 
;

 
Les

 
anti-slash

 
sont

 
traités

 
comme

 
n'importe

 
quel

 
caractère

 
include_path

 
=

 
".;c:\php\lib

 
"





Lorsque vous utilisez le module Apache , vous pouvez aussi changer les paramètres de configurations en utilisant les directives dans les fichiers de configuration d ' Apache et dans les fichiers .htaccess .

Dans la version 3.0 , à chaque directive de configuration présente dans le fichier de configuration d' Apache correspond une directive de configuration dans le fichier php3.ini , à l'exception des directives préfixées par "php3_ " .

Dans la version 4.0 , il n' y a que quelques directives dans le fichier de configuration d 'Apache qui vous permettent de modifier la configuration de PHP .

php_value name value

Cette directive affecte une valeur à la variable spécifiée .

php_flag name on|off

Cette directive est utilisée pour activer ou désactiver une option .

php_admin_value name value

Cette directive affecte une valeur à la variable spécifiée . La directive " Admin " ne peut être utilisée que dans le fichier de configuration d 'Apache , et non dans un fichier .htaccess .

php_admin_flag name on|off

Cette directive est utilisée pour activer ou désactiver l ' option précédente .

Exemple 4-2 . Exemple de configuration Apache

 
IfModule

 
mod_php4.c

 
php_value

 
include_path

 
"

 
.

 
:

 
/

 
usr

 
/

 
local

 
/

 
lib

 
/

 
php

 
"

 
php_flag

 
safe_mode

 
on

 
/

 
IfModule

 
IfModule

 
mod_php3.c

 
php3_include_path

 
".

 
:

 
/

 
usr

 
/

 
local

 
/

 
lib

 
/

 
php

 
"

 
php3_safe_mode

 
on

 
/

 
IfModule





Vous pouvez voir l' état de votre configuration en utilisant la fonction phpinfo( ) . Vous pouvez aussi accéder aux valeurs de votre configuration de manière individuelle en utilisant la fonction get_cfg_var( ) .

Directives de configuration générale

asp_tags booléen

Active l ' utilisation des balises de type ASP % % , en plus des traditionnelles balises ?php ? . Cela inclut l ' utilisation du raccourcid %= $value % . Pour plus d ' informations , reportez-vous à inclusion dans le HTML .

Le support des balises ASP a été ajouté dans la version 3.0.4 .

auto_append_file chaîne de caractères

Spécifie le nom d ' un fichier qui sera automatiquement ajouté après le fichier principal . Le fichier est inclus comme s' il avait été appelé avec la fonction include( ) , donc include_path est utilisé .

Le mot réservé NONE désactive l ' auto-appending .

Si le script s' arrête par la fonction exit( ) , auto-append ne fonctionnera pas .

auto_prepend_file chaîne de caractères

Spécifie le nom d ' un fichier qui sera automatiquement ajouté avant le fichier principal . Le fichier est inclus comme s' il avait été appelé avec la fonction include( ) , donc include_path est utilisé .

Le mot réservé NONE désactive l ' auto-appending .

cgi_ext chaîne de caractères

( NDT : aucune documentation n'est fournie ) .

doc_root string

Le dossier racine de PHP . Cette directive n ' est utilisée que si elle est définie . Si PHP est configuré en safe mode , aucun fichier en dehors de ce dossier ne sera accessible .

open_basedir string

Limite l ' espace PHP peut ouvrir des fichiers .

Lorsqu' un script essaie d'ouvrir un fichier avec les fonctions fopen ou gzopen (par exemple ) , la localisation du fichier est vérifiée . Si ce fichier est hors du dossier cité dans cette directive , PHP refusera de l ' ouvrir . Tous les liens symboliques sont résolus , et subissent aussi la restriction .

La valeur spéciale . indique que le dossier courant du script est utilisé comme open_basedir .

Sous Windows , séparez les noms de dossiers par un point virgule ( ; ) . Sur les autres systèmes , séparez les noms de dossiers par des deux points ( : ) . Lorsque PHP est un module Apache , la valeur de la directive open_basedir des dossiers parents est automatiquement héritée par les fils .

Le support pour les dossiers multiples a été ajouté dans 3.0.7 .

La valeur par défaut est : libre accès à tous les fichiers .

register_argc_argv boolean

Indique à PHP si il doit déclarer les variables argv et argc ( qui contiendront alors les mêmes informations passées par méthode GET ) .

Voir aussi command line . De plus , cette directive a été introduite en PHP 4.0.0 et a toujours été à " on " jusque la .

post_max_size integer

Configure la taille maximale de données par méthode POST . Cette configuration affecte aussi le téléchargement de fichier . Pour autoriser l ' upload de grands fichiers , il faut que cette configuration soit plus grande encore , et plus grande que upload_max_filesize .

Si la limitation de mémoire est activé dans votre script de configuration memory_limit va aussi affecter le téléchargement de fichier . En général , memory_limit doit être plus grand que post_max_size .

gpc_order chaîne de caractères

Etablit l ' ordre de préséance des méthodes GET / POST / COOKIE . Par défaut , cette directive est établie à " GPC " . En affectant " GP " à cette directive , PHP ignorera les cookies , et écrasera toute méthode GET utilisée par une méthode POST avec des variables du même nom .

include_path string

Spécifie une liste de dossiers , les fonctions require( ) , include( ) et fopen_with_path( ) (NDtraducteur : cette fonction semble avoir disparu ) iront chercher les fichiers . Le format est le même que celui de la variable d' environnement PATH : une liste de dossiers , séparés par des deux points ( : ) sous UNIX , et par des points virgules ( ; ) sous Windows .

Exemple 4-3 . UNIX include_path

 
include_path=.

 
:

 
/

 
home

 
/

 
httpd

 
/

 
php-lib



Exemple 4-4 . Windows include_path

 
include_path="

 
.;c:\www\phplib

 
"



La valeur par défaut pour cette directive est . , c'est-à-dire le dossier courant.

isapi_ext string

( Aucune documentation n'est fournie )

memory_limit entier

Grâce à cette option , vous pouvez donner la quantité maximale de mémoire qu ' un script peut allouer . Ceci permet de se prevenir contre des scripts mal codés pouvant consommer toute la mémoire disponible d ' un serveur

nsapi_ext chaîne de caractères

Aucune documentation n ' est fournie .

register_globals boolean

Cette option active l' enregistrement des variables EGPCS (Environnement , GET , POST , Cookie , Serveur ) , en tant que variables globales . Vous pouvez désactiver cette fonction si vous ne voulez pas truffer vos scripts avec des valeurs utilisateurs . Cette option est surtout utile lorsqu ' elle est utilisée conjointement avec track_vars - dans ce cas , vous pouvez accéder à toutes les variables EGPCS grâce aux tableaux $HTTP_ENV_VARS , $HTTP_GET_VARS , $HTTP_POST_VARS , $HTTP_COOKIE_VARS , et $HTTP_SERVER_VARS .

short_open_tag booléen

Active ou désactive l' utilisation des balises courtes , ( ? ? ) . Si vous voulez utiliser PHP et XML en même temps , vous devez désactiver cette option . Si cette option est désactivée , vous devez utiliser la forme longue des tags , ( ?php ? ) .

sql.safe_mode booléen

Aucune documentation n ' est fournie .

track_vars booléen

Si cette option est activée , lors de l' appel des méthodes GET , POST et l 'utilisation des cookies , les variables sont disponibles dans des tableaux associatifs globaux appelés respectivement $HTTP_GET_VARS , $HTTP_POST_VARS et $HTTP_COOKIE_VARS .

upload_tmp_dir chaîne de caractères

Indique le répertoire utilisé lors du chargement d ' un fichier sur un serveur . Ce répertoire doit être accessible en lecture pour l ' utilisateur qui lance le script PHP .

upload_max_filesize entier

La taille maximale d ' un fichier téléchargé sur le serveur . La valeur doit être en octets . Par défaut , elle est de 2 méga-octets . in bytes .

user_dir chaîne de caractères

Répertoire sont stockés les fichiers PHP dans le répertoire d ' un utilisateur . Par exemple , public_html .

Directives de configuration du "Safe Mode"

safe_mode booléen

Cette directive active ou désactive l ' option safe mode , un mode de sécurisation de PHP lors du partage avec plusieurs utilisateurs .

safe_mode_exec_dir chaîne de caractères

Si l' option "SAFE MODE " est activée , system( ) et les autres fonctions exécutant des programmes systèmes refusent de se lancer si ces programmes ne sont pas placés dans ce répertoire .

Directives de configuration de débugage.

debugger.host chaîne de caractères

Adresse IP ou nom de l ' hôte utilisé pour le débugage .

debugger.port chaîne de caractères

Numéro du port utilisé pour le débugage .

debugger.enabled booléen

Activation ou désactivation du débugueur .

Directives de chargement des extensions

extension_dir chaîne de caractères

Définit le répertoire dans lequel le PHP doit chercher les extensions lors du chargement dynamique .

extension chaîne de caractères

Définit les extensions qui doivent être chargées lors du démarrage du PHP .