下記のような階層構造においてaファイルがrequire_onceでcファイルを呼び出す一方で、呼び出されたcファイルがrequire_onceでbファイルを呼びすとなぜかエラーが発生。
A(フォルダ)  | 
| //aファイル require_once("./c.php"); //cファイル require_once("../b.php");  | 
おそらくrequire_onceでの相対パス指定で上位階層のモジュールが読み込めないと似た症状だと思います。
(エラー内容も同じでしたし。)
解決方法として絶対位置指定がありましたが、なんか、相対パスで解決したいなーっと。
で、もう少し調べてみると、require_once()によってインクルードされたファイルのカレントディレクトリは呼び出しもとのディレクトリとなるようです。
というわけで、もしbファイルを呼び出すのなら
| //cファイル require_once("./b.php");  | 
とすればオッケーみたいです。(参考)
これで多重にインクルードされた場合も大丈夫です。
0 コメント:
コメントを投稿