Manuel PHP
Précédent | Chapitre 4. Configuration | Suivant

# 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`.

  Exemple 4-2. Modification d'une valeur de type php_value

      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`.

  Exemple 4-3. Modification d'une valeur de type php_admin_value

      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-4. 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`

## Modifier la configuration de `PHP` dans la base de registre Windows

Lorsque vous utilisez `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 direction de configuration `PHP`, et la valeur correspondante. Les constantes `PHP` ne sont pas utilisables : il faut mettre la valeur entière.

## 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_*

Constante | Valeur | Signification
--- | --- | ---
PHP_INI_USER | 1 | La directive peut être configurée dans les scripts.
PHP_INI_PERDIR | 2 | La directive peut être configurée dans le fichier `php.ini`, le fichier `.htaccess` ou encore dans le fichier `httpd.conf`
PHP_INI_SYSTEM | 4 | La directive peut être configurée dans le fichier `php.ini` ou dans `httpd.conf`
PHP_INI_ALL | 7 | La 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().

Précédent | Sommaire | Suivant
Configuration | Niveau supérieur | Directives de configuration