我想为共享服务器上托pipe的每个站点使用不同的PHP.INI文件。
我已经修改了每个站点的Apache vhosts文件,添加了行…
PHPINIDir /srv/www/my-domain.com/
所以现在vhosts文件/etc/apache2/sites-enabled/my-domain.com可以读取…
<VirtualHost 123.54.67.89:80> ServerAdmin [email protected] ServerName my-domain.com ServerAlias www.my-domain.com DocumentRoot /srv/www/my-domain.com/www/ ErrorLog /srv/www/my-domain.com/logs/error.log CustomLog /srv/www/my-domain.com/logs/access.log combined PHPINIDir /srv/www/my-domain.com/ </VirtualHost>
在重新加载Apache我得到以下错误。
Syntax error on line 8 of /etc/apache2/sites-enabled/my-domain.com: Only first PHPINIDir directive honored per configuration tree - subsequent ones ignored ...fail!
只在其中一个虚拟主机文件中设置PHPINIDir指令,但每个站点都会select该PHP.INI文件。
我们在Ubuntu 10.04上运行PHP5.3.2。
有关如何实现这一目标的任何build议?
PS这一点是要让每个网站生成自己的PHP错误日志。
你已经检查出php-fpm与Apache的mod_fastcgi? 它允许您通过池准确地定义您需要的configuration,甚至可以chroot用户! ;)
解决的办法是在vhostconfiguration文件中添加一行来设置我需要的特定PHP值。 因此,不是在每个站点的自定义PHP.INI文件中设置php_error.logpath, php_error.log根据需要修改每个站点的vhostsconfiguration文件。
所以我的虚拟主机configuration文件现在读取因此…
<VirtualHost 123.54.67.89:80> ServerAdmin [email protected] ServerName my-domain.com ServerAlias www.my-domain.com DocumentRoot /srv/www/my-domain.com/www/ ErrorLog /srv/www/my-domain.com/logs/error.log CustomLog /srv/www/my-domain.com/logs/access.log combined php_value error_log /srv/www/my-domain.com/logs/php_error.log </VirtualHost>
我在ServerFault的其他地方find了解决scheme。