是否可以有一个单独的 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 文件,该文件将仅覆盖该 vhost 的默认值,但如果未指定该值,则保留原始默认值:
/var/www/website1.com/htdocs/
/var/www/website1.com/php.ini
编辑
对于那些感兴趣的人,我在以下网址找到了有关该主题的更多信息:如何使用 NameVirtualHosts 在 LAMP 服务器上设置每个站点的 php.ini 文件?。
答案1
如果您使用 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(谷歌一下)。
答案2
如果你使用 cgi(或 fastcgi,或 fpm,也是 fastcgi),则可以使用.user.ini
文件。
只需将.user.ini
包含 php 选项的文件放在 webroot 目录中即可,如下所示:
memory_limit=256M
upload_max_filesize=200M
post_max_size=200M
php 将使用该选项扩展主 php.ini 文件。
答案3
在 VirtualHost 标签内添加 PHPINIDir 并将其指向 vhost 将使用的 php.ini 文件的目录。
<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
编辑于 2010 年 4 月 14 日 12:30pm EST:** 没关系,这会更改所有虚拟主机的“已加载配置文件”。**