Chapitre 9. Configuration

Table des matières
Le fichier de configuration
Comment modifier la configuration

Le fichier de configuration

Le fichier de configuration (appelé php3.ini dans la version 3 de PHP, et simplement php.ini dans la version 4) est lu par 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 les versions CGI et CLI le fichier est lu à chaque invocation.

La localisation par défaut du php.ini est une option de compilation (voir cette entrée de la FAQ), mais elle peut être changée pour les versions CGI et CLI avec l'option de ligne de commande -c : voyez le chapitre sur l'utilisation de PHP en ligne de commande. Vous pouvez aussi utiliser la variable d'environnement PHPRC pour indiquer des chemins supplémentaires pour rechercher le fichier php.ini.

Si le fichier php-SAPI.ini existe (où SAPI utilise SAPI, donc le nom du fichier est e.g. php-cli.ini ou php-apache.ini), il sera utilisé à la place du php.ini.

Note : Le serveur web Apache change ce dossier en dossier root au démmarage, ce qui fait que PHP essaye de lire php.ini depuis le système de fichier racine s'il existe.

Les directives php.ini par extensions sont documentées respectivement sur les pages du manuel de ces dernières directement. La liste des directives internes sont disponibles en annexe. Il est probable que toutes les directives PHP ne sont pas documentées dans le manuel. Pour une liste complète des directives disponibles dans votre version de PHP, merci de lire les commentaires de votre propre fichier php.ini. Vous pouvez également trouver la dernière liste disponible sur CVS.

Exemple 9-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
track_errors = 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"