web-dev-qa-db-fra.com

Comment utiliser différents fichiers php.ini pour différents VirtualHosts?

Mon site et mon sous-domaine de transfert s’exécutent sur la même machine CentOS exécutant Apache. Le sous-domaine est créé à l'aide d'un VirtualHost et je l'utilise pour rechercher tous les bogues avant I Push to Production. Je veux que le fichier php.ini de la version intermédiaire de VirtualHost soit un fichier de développement, et le site de production utilisera un fichier de production php.ini. Comment configurer Apache pour qu'il utilise différents fichiers php.ini? Je ne veux pas utiliser php_value/php_flag pour tout, mais plutôt utiliser le fichier php.ini que j'ai déjà disponible. J'ai essayé de créer un fichier .htaccess qui ressemble à ceci,

SetEnv PHPRC /path/to/php.ini/directory

Cela n'a aucun effet, car phpinfo () me dit qu'il utilise toujours /etc/php.ini. J'ai également essayé de définir PHPIniDir pour les deux hôtes virtuels (www et staging) et se plaint de voir la directive deux fois.

1
gsingh2011

En fait, , il est impossible de spécifier différents fichiers php.ini pour chaque hôte virtuel.

Cependant, vous pouvez changer presque tout dans le fichier php.ini en utilisant la fonction ini_set () :

  • Il vous permet de définir la valeur d'une option de configuration donnée. L'option de configuration conservera cette nouvelle valeur pendant l'exécution du script et sera restaurée à la fin du script.
  • Toutes les options disponibles ne peuvent pas être modifiées avec ini_set () . Il y a une liste de toutes les options disponibles ici . Ainsi, toutes les directives ayant le mode "PHP_INI_USER" peuvent être modifiées pendant l'exécution à l'aide de la fonction ini_set () .
1
fsenart