[PHP-users 30290] Re: 相対パスについて

aki toku tokuhy @ gmail.com
2006年 9月 9日 (土) 22:03:59 JST


06/09/09 に Matsumoto Taichi<taichino @ naoko-takeuchi.net> さんは書きました:
> 早速のご返信ありがとうございます。
> ご教授頂きました情報を元に下記の操作を行いました。
>
> 1. ini_getでinclude_pathの確認
>         [結果]
>         .:/usr/local/lib/php:/usr/local/lib/php/Smarty
>         "."は抜けていませんでした。
>
> 2. 駄目もとでini_setで実行スクリプトのパスをinclude_pathに追加
> ----修正後のコード-------------------------------
>         $include_path = ini_get("include_path");
>         $include_path .= ":" . getcwd();
>         ini_set("include_path", $include_path);
>         require_once("../dir1/script1.php");
> -------------------------------------------------
>         [結果]
>         なんと正常に動作しました!
>
> ⇒ご教授いただきました方法により想定していた動作を
> 確認できました。本当にありがとうございます。
>
> 1,2の結果から考えられるのは"."周りの動作が
> おかしいということなのでしょうか。
> もう少し、調査してみようと思います。

動いたのならよかったです。
カレントのディレクトリを明示的に指定しなおしているのですね。
レンタルサーバーでのことはよくわからないのですが、スクリプト内でchdir()で移動しているとかないですか?
「.」はスクリプトが処理されているディレクトリだと思うのですが、requireの前にカレントディレクトリが変わっているとか・・・。
ちょっと確認できる環境が今ないのでなんともなんですが、そのあたりはどうでしょうか?


PHP-users メーリングリストの案内