vhost 構成で php.ini 設定を上書きしても、suPHP を使用した 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.htmlsuPHPはphp_admin_valueディレクティブをサポートしていないと書かれています。しかし、カスタムphp.iniファイルとディレクティブを使用して同様のことを実現できるかもしれませんsuPHP_ConfigPath
(http://www.suphp.org/DocumentationView.html?file=apache/CONFIG)。