VirtualHost 的自定义 php.ini

aat*_*ark 5 php virtualhost apache2

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

我知道有 php_admin_values

<Location /stat/>
    php_admin_value safe_mode off
</Location>
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*ppi 4

您将需要使用像suPHP这样的东西来实现这一点。除了以不同用户身份运行每个 VirtualHost 的 php 执行之外,它还允许您为 VirtualHosts 和目录拥有多个 php.ini 文件(基于.htaccess suPHP_Config标志)

您可以通过 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>
Run Code Online (Sandbox Code Playgroud)

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