为每个Apache虚拟主机分开php.ini文件?

是否有可能有一个单独的php.ini文件覆盖每个虚拟主机的默认php.ini文件? 我正在运行Apache / 2.2.14,PHP 5.3.2-1。

例如,我有几个虚拟主机指向我的/var/www/目录中的域:

 /var/www/website1.com /var/www/website2.com 

我想要的是能够在每个目录中放置一个自定义的php.ini文件,只会覆盖该虚拟主机的默认值,但如果未指定该值,请保留原始默认值:

 /var/www/website1.com/htdocs/ /var/www/website1.com/php.ini 

编辑
对于那些感兴趣的,我发现更多的信息关于如何设置每个站点php.ini文件在LAMP服务器上使用NameVirtualHosts的主题? 。

如果你使用的是mod_php,你可以在httpd.conf中覆盖你想要的值。 有这些模块指令:

 php_value - PHP Value Modifier php_flag - PHP Flag Modifier php_admin_value - PHP Value Modifier (Admin) php_admin_flag - PHP Flag Modifier (Admin) 

如果没有,最好的办法是PHP FPM(谷歌它)。

如果您使用的是cgi(或fastcgi,或fpm,也就是fastcgi),则可以使用.user.ini文件 。

只需将一个.user.ini文件放在你的webroot目录下,如下所示:

 memory_limit=256M upload_max_filesize=200M post_max_size=200M 

和PHP将扩展主要的php.ini文件与该选项。

在VirtualHost标签内添加PHPINIDir,并将其指向您的php.ini文件,该文件将被vhost使用。

 <VirtualHost *:80> [....] PHPINIDir /var/www/web1 [....] </VirtualHost> 

http://www.howtoforge.com/how-to-specify-a-custom-php.ini-for-a-website-apache2-with-mod_php抓&#x53D6;

编辑14/04/2010 12:30 pm EST:**没关系,这改变了所有虚拟主机的“加载configuration文件”。 **