FuelPHPの初期設定で次のようなエラーが画面に現れたときにいったいどうすればよいか.
No composer autoloader found. Please run composer to install the FuelPHP framework dependencies first!
このエラーは「oil」ファイルの54行目にある.
if ( ! file_exists(COREPATH.'classes'.DIRECTORY_SEPARATOR.'autoloader.php')) { die("No composer autoloader found. Please run composer to install the FuelPHP framework dependencies first!\n\n"); }
このif文に「COREPATH」という定数があるが,これは45行目で定義している.
define('COREPATH', realpath(__DIR__.'/fuel/core/').DIRECTORY_SEPARATOR);
つまりは,COREPATH
のパスが通っていないのである.35行目のAPPPATH
,40行目のPKGPATH
,45行目のCOREPATH
に,oilファイルとの相対パスを書くのである.
/** * Path to the application directory. */ define('APPPATH', realpath(__DIR__.'/fuel/app/').DIRECTORY_SEPARATOR); /** * Path to the default packages directory. */ define('PKGPATH', realpath(__DIR__.'/fuel/packages/').DIRECTORY_SEPARATOR); /** * The path to the framework core. */ define('COREPATH', realpath(__DIR__.'/fuel/core/').DIRECTORY_SEPARATOR);
もう少し詳しくすると,oilファイルが下図のようにfuelフォルダと同じ階層にあればエラーは出ないはずなので,oilファイルに手を入れる必要はないが,oilファイルがひとつ下の階層にあるなら「../fuel/app
」などと書く.
エラーが出る原因は,oilファイル中の3つの定数の記述にあるfuel/app
,fuel/packages
,fuel/core
のパスとoilファイルのパスが合っていないことにある.oilファイルを都合の良いところに移動したら,oilファイルのパスを設定しよう.