为 VirtualHost 自定义 php.ini

为 VirtualHost 自定义 php.ini

有没有办法在 apache 中使用不同的php.ini文件 foreach ?VirtualHost

我知道php_admin_values

<Location /stat/>
    php_admin_value safe_mode off
</Location>

但是我想为虚拟主机指定一个完整的 php.ini 文件。

答案1

你需要使用类似苏普实现这一点。除了以不同的用户身份运行每个 VirtualHost 的 php 执行之外 - 它还允许您为 VirtualHost 和目录 (基于.htaccess suPHP_Config标志)拥有多个 php.ini 文件

您可以通过 aptitude 安装 suPHP:sudo apt-get install suphp-common libapache2-mod-suphp其中一个主要区别是您现在可以将 php 设置为以用户身份执行 - 而不是让所有 php 脚本都由用户执行www-data- 仅此一项就在一台服务器上托管多个用户时提供了很大的便利性和安全性,因为它减少了对 777 和 666 权限的需求(事实上,您永远不需要再使用 777 或 666 - 755/644 应该总是足够的)

虚拟主机示例:

<VirtualHost *:80>
   ...
   DocumentRoot /home/marco/www/
   suPHP_UserGroup marco marco
   suPHP_Config /home/marco/etc/php.ini
   ...
</VirtualHost>

您还可以在文件中设置 suPHP_Config 指令.htaccess​​- 只要您已AllowOverride正确设置。

相关内容