Tips: mod_php pour Apache, surcharger la configuration de votre php.ini

php-logo.png

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.

Vus : 453
Publié par System Linux : 211