![带有 suPHP 的 Apache 不遵守 vhost 配置中的 php_admin_value](https://linux22.com/image/660384/%E5%B8%A6%E6%9C%89%20suPHP%20%E7%9A%84%20Apache%20%E4%B8%8D%E9%81%B5%E5%AE%88%20vhost%20%E9%85%8D%E7%BD%AE%E4%B8%AD%E7%9A%84%20php_admin_value.png)
我刚刚发现,使用 suPHP 覆盖 vhost 配置中的 php.ini 设置在 Apache 上不起作用。
该系统是 Ubuntu Server Edition 14.04 LTS,我像这样安装 Apache + PHP:
apt-get install apache2 apache2-mpm-prefork apache2-utils php5
无需更改任何设置,以下 vhost 即可立即使用:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/html/public
php_admin_value open_basedir /var/www/html
</VirtualHost>
可以使用 phpinfo() 来验证“open_basedir”设置是否正确。
但是,安装 suPHP 和 suExec 后:
apt-get install libapache2-mod-suphp apache2-suexec
a2enmod suexec
phpinfo() 显示这些值仍然是“/etc/php5/cgi/php.ini”中设置的值。这不仅适用于 open_basedir,而且适用于我尝试使用 或 覆盖的任何php_admin_value
设置php_value
。
有什么方法可以使上述设置正常工作吗?
答案1
文档位于http://www.suphp.org/FAQ.html说 suPHP 不支持 php_admin_value 指令。不过,您可以使用自定义 php.ini 文件和suPHP_ConfigPath
指令完成类似操作(请参阅http://www.suphp.org/DocumentationView.html?file=apache/CONFIG)。