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

aki toku tokuhy @ gmail.com
2006年 9月 9日 (土) 18:30:47 JST


tokuyamaです。

requireをする前にini_setなどでinclude_pathの設定をしていたりということはないでしょうか?
その際にカレントのディレクトリの「.」を消してしまっているとか。
script1.phptoと同じディレクトリにあるファイル(hoge.php)も相対パスで読み込めなかったりしませんでしょうか。
require_once "hoge.php";

もしそうならini_getで現在のinclude_pathを取得しておいて追加する値に足してあげればOKです。

$include_path   = ini_get('include_path');
$include_path  .= ':' . '/path/to/foo';
ini_set('include_path', $include_path);

見当違いならすいません。


06/09/09 に Matsumoto Taichi<taichino @ naoko-takeuchi.net> さんは書きました:
> 松本と申します。
>
> 相対パスについて質問させてください。
>
> 起こっている問題はrequire_onceの中で相対パスを指定したところ
> No such file or directoryとエラーが表示されてしまいます。
>
> 操作の詳細は、以下のようなディレクトリ構成の元、
> script2.phpからscript1.phpを読み込むために
>         require_once("../dir1/script1.php");
> を指定したところ上記のようなエラーが発生します。
>         ----ディレクトリ構成--
>          ┣dir1
>          ┃┣script1.php
>>          ┣dir2
>          ┃┣script2.php
>         ----------------------
> 念の為、絶対パスで試してみたところ正常に動作しました。
>
> 環境はレンタルサーバのためOS,Apacheのバージョンは
> わかりませんでした。
> OS      : Redhat Linux
> Apache  : バージョン不明
> PHP     : 4.3.11
> 借りているサーバはロリポップサーバです。
>
> また別に以下の環境を構築し同じ操作を行なったところ問題は発生せず、
> 想定通りの動作を確認できました。
> OS      : Debian/GNU Linux 3.0
> Apache  : 2.0.54
> PHP     : 4.3.10
>
> WEB等で調べましても有効な情報を得られず、
> 問題の切り分けもできていない状態です。
>
> 絶対パスで指定すれば動作しますので大きな問題にはなっていないのですが、
> 解決しておかないといずれ、表面化してきそうですので、
> 何かお知りの方がおられましたらご教授いただけますと幸いです。
>
>
> 以上、宜しくお願い致します。
>
>
> ------------------------------------------------------
>         Matsumoto Taichi : taichino @ naoko-takeuchi.net
> ------------------------------------------------------
>
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3
>


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