[PHP-users 22495]Re: include_pathのカレントディレクトリについて
Yuya Nishihara
puro @ bf7.so-net.ne.jp
2004年 7月 4日 (日) 19:43:13 JST
西原といいます。はじめまして。
> require 'Test/formCreatorTest.php'とかすると(Testはサブディレクトリ)
> Fatal error: Failed opening required 'Test/formCreateorTest.php'
> (include_path='.:/usr/lib/php/php')
実行時のカレントディレクトリが別なのでは?
PHP の include, require 等は, そのスクリプトの置いてあるディレクトリではなく,
実行時のカレントディレクトリを基準に考えなければなりません。残念ながら。
例えば,
/main.php
/src/ClassA.php
/src/AbstractClassA.php
という構成で, ClassA.php から AbstractClassA.php を 読み込むときは, おそらく,
require_once 'src/AbstractClassA.php';
となります。(main.php を実行していて, カレントディレクトリがそこだと仮定。)
ただし, これだと汎用的じゃないので,
require_once dirname(__FILE__) . '/AbstractClassA.php';
// '/'(スラッシュ) を忘れずに!
としたほうがいいと思います。
私はこれで1日無駄にしました。
--
Yuya Nishihara
PHP-users メーリングリストの案内