Apache 與 suPHP 不尊重虛擬主機設定中的 php_admin_value

Apache 與 suPHP 不尊重虛擬主機設定中的 php_admin_value

我剛剛發現在 vhost 配置中覆蓋 php.ini 設定在使用 suPHP 的 Apache 上不起作用。

系統是Ubuntu Server Edition 14.04 LTS,我安裝了Apache + PHP,如下:

apt-get install apache2 apache2-mpm-prefork apache2-utils php5

無需更改任何設置,以下虛擬主機即可開箱即用:

<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)。

相關內容