每个 Apache 虚拟主机的单独 php.ini 文件?

Cal*_*vin 11 virtualhost php.ini apache-2.2

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

例如,我有几个 vhost 指向我/var/www/目录中的域:

/var/www/website1.com  
/var/www/website2.com
Run Code Online (Sandbox Code Playgroud)

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

/var/www/website1.com/htdocs/
/var/www/website1.com/php.ini
Run Code Online (Sandbox Code Playgroud)

编辑
对于那些感兴趣的人,我在如何使用 NameVirtualHosts 在 LAMP 服务器上设置每个站点的 php.ini 文件?.

Art*_*cto 6

如果您使用的是 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)
Run Code Online (Sandbox Code Playgroud)

如果没有,你最好的选择是 PHP FPM(谷歌它)。

  • 是的,我也可以在每个 vhost 根目录中使用 .htaccess 来更改这些值,从我读到的内容来看,这是一个很好的方法。但我知道我已经看到一些共享托管的虚拟主机,它们允许您用自己的 php.ini 覆盖他们的 php.ini,所以必须有另一种方法来做到这一点,对吗? (2认同)