ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

suPHPの環境で、php_valueによるphp.iniの設定を変更ができない場合の対処

今まで使えていた方法が使えないと、解決できるのかと焦ります。

今までの方法が使えない

.htaccessファイルに

php_value include_path '.:/usr/local/share/pear:/usr/home/www/public_html/test"

と書いてWebサーバーにアップロードして動作確認したところ、エラーになってしまいました。
suPHPでPHP動作している環境では、この方法が使えないようです。

対処方法1

Apachehttpd.confに、

<Directory /usr/home/gdatawww/public_html/test>
        suPHP_ConfigPath /usr/home/www/test
</Directory>

を追加して、指定したパスにinclude_pathを変更したphp.iniを置き、Apacheをリスタートしたら変更したphp.iniが使われました。
この方法では、ディレクトリを増やしたら、記述を増やしてApacheをリスタートしなくてはならず、不便です。

対処方法2

.htaccess自体は使えるので、

suPHP_ConfigPath /usr/home/www/test

.htaccessに書いて、指定したパスにinclude_pathを変更したphp.iniを置くと、変更したphp.iniが使われ、希望した動作をするようになりました。

ちょっと手間はかかっても、Apacheをリスタートしないで済む対処方法2で対応していきます。