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.

Note : 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.

Note : 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 où 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.

Note : 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, où 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 où 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.