PHP に直接インクルードパス (include path) を書きこむ方法

.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 に書くよりこっちの方が楽な気もします。簡単でスマートにこしたことはないですよねー。

コメント

コメントは受け付けていません。