Lors de l'utilisation du module Apache, il est aussi possible de changer les paramètres de configuration en utilisant les directives dans les fichiers de configuration d'Apache (httpd.conf) et dans les fichiers .htaccess. Les privilèges "AllowOverride Options" ou "AllowOverride All" sont nécessaires.
Il y a de nombreuses directives
Apache qui permettent de modifier la configuration de PHP
à partir des fichiers de configuration Apache. Pour une liste des
directives qui sont INI_ALL,
INI_PERDIR ou INI_SYSTEM
se reporter à l'annexe Liste des directives
du php.ini.
php_value
nom
valeur
Modifie la valeur de la directive spécifiée.
Cette instruction n'est utilisable qu'avec les directives PHP de type
INI_ALL et INI_PERDIR.
Pour annuler une valeur qui aurait été modifiée au préalable,
utiliser la valeur none.
Note: Ne pas utiliser
php_valuepour configurer des valeurs booléennes.php_flag(voir plus bas) doit être utilisée.
php_flag
nom
on|off
Cette instruction est utilisée pour activer ou
désactiver une option.
Cette instruction n'est utilisable qu'avec les directives
PHP de type INI_ALL et
INI_PERDIR.
php_admin_value
nom
valeur
Cette instruction affecte une valeur à la variable spécifiée.
Cette instruction NE peut PAS être utilisée dans un fichier
.htaccess. Toute directive de PHP configurée avec le type
php_admin_value ne peut pas être
modifiée en utilisant le fichier .htaccess ou la fonction ini_set().
Pour annuler une valeur qui aurait été modifiée au préalable, utiliser la
valeur none.
php_admin_flag
nom
on|off
Cette directive est utilisée pour activer ou désactiver une option.
Cette instruction NE peut PAS être utilisée dans un fichier
.htaccess. Toute directive de PHP configurée avec le type
php_admin_flag ne peut pas être
modifiée en utilisant le fichier .htaccess ou par la fonction ini_set().
Exemple #1 Exemple de configuration Apache
<IfModule mod_php5.c> php_value include_path ".:/usr/local/lib/php" php_admin_flag engine on </IfModule> <IfModule mod_php4.c> php_value include_path ".:/usr/local/lib/php" php_admin_flag engine on </IfModule>
Les constantes PHP n'existent pas en dehors de PHP. Par
exemple, dans le fichier httpd.conf,
il n'est pas possible d'utiliser des constantes PHP telles que
E_ALL ou E_NOTICE pour spécifier
le niveau de rapport d'erreur,
car ces constantes n'ont pas de signification pour Apache,
et seront remplacées par 0.
Utiliser les valeurs numériques à la place.
Les constantes peuvent être utilisées dans le php.ini
Lors de l'utilisation de PHP sur Windows, la configuration peut
être modifiée dossier par dossier en utilisant la base de registres
de Windows. Les valeurs de configuration sont stockées
avec la clé de registre
HKLM\SOFTWARE\PHP\Per Directory Values,
dans les sous-clés correspondantes aux noms de dossier. Par exemple,
la valeur d'une option dans le dossier c:\inetpub\wwwroot
sera stockée dans la clé
HKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot.
La valeur de cette option sera utilisée pour tous les
scripts qui fonctionnent dans ce dossier ou ses sous-dossiers.
Les valeurs sous la clé doivent avoir le nom d'une
directive de configuration PHP,
et la valeur correspondante. Les constantes PHP ne sont
pas utilisables : il faut mettre la valeur entière.
Cependant, seules les valeurs des configurations dans
INI_USER peuvent être fixées de cette manière,
celles dans INI_PERDIR ne peuvent l'être,
car ces valeurs de configurations sont relues à chaque requête.
Suivant la façon dont PHP est exécuté, il est possible de changer certaines valeurs durant l'exécution des scripts en utilisant ini_set(). Voir la documentation de la fonction ini_set() pour plus d'informations.
Pour obtenir une liste complète des options configurées sur le système avec leurs valeurs courantes, il est possible d'exécuter la fonction phpinfo() et de consulter la page résultante. Il est aussi possible d'accéder individuellement aux directives de configuration pendant l'exécution des scripts en utilisant soit la fonction ini_get(), soit la fonction get_cfg_var().