Comment modfier la configuration

Exécuter PHP comme module Apache

Lorsque vous utilisez le module Apache, vous pouvez aussi changer les paramètres de configuration 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 y a de nombreuses directives Apache qui vous permettent de modifier la configuration de PHP.

php_value name value

Modifie la valeur de la directive spécifiée. Cette instruction n'est utilisable qu'avec les directives PHP de type PHP_INI_ALL et PHP_INI_PERDIR. Pour annuler une valeur qui aurait été modifiée au préalable, utilisez la valeur none.

php_value auto_prepend_file none

php_flag name 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 PHP_INI_ALL et PHP_INI_PERDIR.

php_admin_value name value

Cette instruction affecte une valeur à la variable spécifiée. Cette instruction NE peux 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.

php_admin_value open_basedir none

php_admin_flag name on|off

Cette directive est utilisée pour activer ou désactiver l'option précédente. Cette instruction NE peux 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.

Exemple 4-2. Exemple de configuration Apache

<IfModule mod_php4.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag safe_mode on
</IfModule>
<IfModule mod_php3.c>
  php3_include_path ".:/usr/local/lib/php"
  php3_safe_mode on
</IfModule>

Note : Les constantes PHP n'existent pas en dehors de PHP. Par exemple, dans le fichier httpd.conf, vous ne pouvez pas utiliser des constantes PHP telles que E_ALL ou E_NOTICE pour fixer le niveau de rapport d'erreur, car ces constantes n'ont pas de signification pour Apache, et seront remplacées par 0. Utilisez les valeurs numériques à la place. Les valeurs numériques peuvent aussi être utilisées dans le php.ini

Autres interfaces de configuration de PHP

Indépendamment de l'interface de PHP, vous pouvez modifier certaines valeurs de la configuration durant l'exécution des scripts, grâce à la fonction ini_set(). La table suivante fournit une présentation des différents endroits où la directive peut être modifiée.

Tableau 4-1. Definition des constantes PHP_INI_*

ConstanteValeurSignification
PHP_INI_USER1La directive peut être configurée dans les scripts.
PHP_INI_PERDIR2 La directive peut être configurée dans le fichier php.ini, le fichier .htaccess ou encore dans le fichier httpd.conf
PHP_INI_SYSTEM4 La directive peut être configurée dans le fichier php.ini ou dans httpd.conf
PHP_INI_ALL7La directive peut être modifiée n'importe où.

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 les fonctions ini_get() or get_cfg_var().