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

# Comment modifier 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 (`httpd.conf`) et dans les fichiers `.htaccess`. Vous aurez besoin des privilèges "AllowOverride Options" ou "AllowOverride All".

Dans la version 4 et 5 de PHP, il y a de nombreuses directives Apache qui vous permettent de modifier la configuration de PHP à partir des fichiers de configuration Apache. Pour une liste des directives qui sont `PHP_INI_ALL`, `PHP_INI_PERDIR` ou `PHP_INI_SYSTEM` reportez-vous à l'appendice Liste des directives du php.ini.

> Note : Dans la version 3 de PHP, à 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_`.

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 `PHP_INI_ALL` et `PHP_INI_PERDIR`. Pour annuler une valeur qui aurait été modifiée au préalable, utilisez la valeur `none`.

  > Note : N'utilisez pas php_value pour 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 `PHP_INI_ALL` et `PHP_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 les directives de virtualhost. Pour annuler une valeur qui aurait été modifiée au préalable, utilisez la valeur `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 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 une directive virtualhost.

Exemple 9-2. Exemple de configuration Apache

    <IfModule mod_php5.c>
      php_value include_path ".:/usr/local/lib/php"
      php_admin_flag safe_mode on
    </IfModule>
    <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>

Attention

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 constantes peuvent ê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. Cependant, seules les valeurs des configurations dans `PHP_INI_USER` peuvent être fixées de cette manière, celles dans `PHP_INI_PERDIR` ne peuvent l'être.

## Autres interfaces de configuration de PHP

Suivant la façon dont vous exécutez PHP, vous pouvez changer certaines valeurs durant l'exécution de vos scripts en utilisant ini_set(). Voir la documentation de la fonction ini_set() pour plus d'informations.

Si vous êtes intéressé par une liste complète des options configurées sur votre système avec leurs valeurs courantes, vous pouvez exécuter la fonction phpinfo() et consulter la page résultante. Vous pouvez aussi accéder individuellement aux directives de configuration pendant l'exécution de vos scripts en utilisant soit la fonction ini_get(), soit la fonction get_cfg_var().

Précédent | Sommaire | Suivant
Configuration | Niveau supérieur | Référence du langage