Tips: mod_php pour Apache, surcharger la configuration de votre php.ini
Si vous utilisez mod_php pour Apache et que vous souhaitez attribuer des valeurs spécifiques à certains de vos Vhosts. Suivez mon regard.
Mod_php met à notre disposition plusieurs directives pour surcharger la configuration par défaut de PHP via php.ini.
- php_value
- php_flag
- php_admin_value
- php_admin_flag
Exemple d'utilisation de la directive php_value
Il peux parfois être utile de modifier l' "include_path" de PHP:
<VirtualHost *:80> ServerName mon.site.com DocumentRoot /var/www/monsite php_value include_path ".:/opt/php5/lib/php" ... </VirtualHost>
Exemple d'utilisation de la directive php_flag
Nous en avions déjà parlé, mais vous pouvez aussi déactiver l'exécution de PHP dans un VHost (voir dans un répertoire):
<VirtualHost *:80> ServerName mon.site.com DocumentRoot /var/www/monsite php_flag engine off ... </VirtualHost>
Exemple d'utilisation de la directive php_admin_value
Changer le memory_limit des scripts d'un répertoire:
<VirtualHost *:80> ServerName mon.site.com DocumentRoot /var/www/monsite <Directory /var/www/monsite> AllowOverride All Options All -Indexes Order allow,deny Allow from all php_admin_value memory_limit 32M </Directory> ... </VirtualHost>
Exemple d'utilisation de la directive php_admin_flag
Ne pas autoriser les connexions persistantes à votre base MySQL:
<VirtualHost *:80> ServerName mon.site.com DocumentRoot /var/www/monsite <Directory /var/www/monsite> AllowOverride All Options All -Indexes Order allow,deny Allow from all php_admin_flag mysql.allow_persistent Off </Directory> ... </VirtualHost>
A noter que les directives php_admin_* ne peuvent pas être déportées dans un fichier htaccess.
Cette astuce est très intéressante pour des petites modifications à apporter à la configuration par défaut. Si vous souhaitez faire des changements plus poussés le plus judicieux sera sans doute de s'orienter vers des modules comme "mod_suphp" qui permet, lui, d'utiliser un php.ini spécifique pour chaque Vhost.