Table des matières

, , , , , ,

Apache: Configuration du module PHP

Lorsque PHP est utilisé en tant que module Apache, chaque hôte virtuel peut redéfinir les options du module via plusieurs directives (php_value, php_flag, php_admin_value, php_admin_flag) via les fichiers de configuration Apache( .conf et .htaccess).

Pour que les options puissent être redéfinies dans les fichiers .htaccess les directives Allow Override options ou Allow Override All doivent être définies.

La directive php_value

Usage

php_value option valeur

Exemple

php_value memory_limit 512M
La directive php_value n'est utilisable que sur des options de type PHP_INI_ALL et PHP_INI_PERDIR. La liste des options PHP avec leur type associé est disponible à l'URL https://www.php.net/manual/en/ini.list.php

Une option définie via php_value dans le fichier de configuration de l’hôte virtuel Apache pourra être redéfinie dans un fichier .htaccess.

Ne pas utiliser php_value pour définir des valeurs booléennes, pour cela utiliser la directive php_flag présentée ci dessous.

La directive php_flag

Ne s'utilise que pour des options booléennes de type PHP_INI_ALL et PHP_INI_PERDIR:

Usage:

php_flag option valeur

Exemple:

php_flag log_errors On

La directive php_admin_value

Permet de spécifier une option qui ne pourra plus être redéfinie ni dans un .htaccess ni dans un script via l'appel à la fonction ini_set(). Pour effacer une valeur prédéfinie, utiliser la valeur none.

Usage:

php_admin_value option valeur

Exemple:

php_admin_value default_charset none
php_admin_value upload_max_filesize 2000M

La directive php_admin_flag

Permet de spécifier une option booléenne qui ne pourra plus être redéfinie ni dans un .htaccess ni dans un script via l'appel à la fonction ini_set().

Usage:

php_admin_flag option valeur

Exemple:

php_admin_flag display_errors On
Les constantes PHP telles que E_ALL ou E_NOTICE utilisables dans le php.ini n'existent pas en dehors de PHP (dans les fichiers de configuration Apache notamment). Pour définir les niveaux de logs par exemple, il faudra utiliser directement les valeurs correspondant aux masques binaires.

Exemple:

 <IfModule php7_module>
    # reporte toutes les erreurs
    php_admin_value error_reporting 32767
    php_admin_flag log_errors On
    php_admin_value error_log "/srv/annuaire/log/php_errors.log"
  </IfModule>

Références