includeやrequireが利用できない!!
と困った事がありませんか?
設定にもよりますが、PHPはエラーメッセージが表示されなかったりします。
その場合は基本アクセスログと同階層にあるエラーログ(error_logというファイル名)に出力されている事が主です。
(もちろんphp.iniの設定によっては別の箇所に吐き出されていたり、画面に出力されたりします。)
少し話がそれましたが、requireができなかったというこで、早速エラーログをみてみましょう。
(画面にでてれば楽ですが、でていない人は)
-- error_log --------
[client [IP_ADDR]] PHP Warning: main(): open_basedir restriction in effect. File([requireするファイルパス]) is not within the allowed path(s): ([どこかで設定されていそうなパス]) in [実際に実行しているファイルパス] on line 2
[client [IP_ADDR]] PHP Warning: main[requireするファイルパス]): failed to open stream: Operation not permitted in [実際に実行しているファイルパス] on line 2
[client [IP_ADDR]] PHP Fatal error: main(): Failed opening required '[requireするファイルパス]' (include_path='.:') in [実際に実行しているファイルパス] on line 2
---------------
こんなエラーが出た場合はphp.iniの設定によりファイルの読み込みが制限されているエラーです。
php.ini内のopen_basedirが設定されている場合に制限されます。
以下、記載方法
open_baseidr [制限パス]
これを解除するには次のように変更します。
open_basedir none
ちなみに、httpd.conf or .htaccess内での変更方法の場合
php_admin_value open_basedir none
以上で設定は完了です。
修正後即反映されない設定の方はWEBサーバの再起動を行って、もう一度検証を行ってみてください。
エラーが出力されなくなるはずです。