.htaccess に include_path を書きこめない場合とか、頻繁にサーバーを移転する場合は、PHP ファイルに直接 include path を書きこむのが一番です。
基本的に include_path って /home/user/domain/public_html/php/include/ みたいな感じになりますよね。大体サーバーによって /home/user/domain/public_html/ の部分だけが変化してくると思うんですけど、この部分は $_SERVER["DOCUMENT_ROOT"] で取得できるので、よくサーバーを移転したりする場合は直接書きこんで、パスは自動的にやってもらえば良いかもですね。
ちなみにコードは以下のような感じになります。
1 2 3 | // include_path 自動設定 $path = $_SERVER["DOCUMENT_ROOT"]."/include/hoge"; set_include_path(get_include_path() . PATH_SEPARATOR . $path); |
include path をリセットしたい場合は以下の関数を使えば php.ini で指定した状態に戻すことができます。
1 | restore_include_path(); |
基本的にサイト全体が index.php にすべて処理させるような形になっている場合とかは .htaccess や php.ini に書くよりこっちの方が楽な気もします。簡単でスマートにこしたことはないですよねー。
コメント