[PHP] Phalcon で “Webtools doesn’t know where is the … directory” というエラーが出た時の対処法

Phalcon DevTools 2.0.8 のお話です。

PHPのフレームワーク Phalcon の開発者ツール(phalcon-devtools)を使ってWebTools付きでプロジェクトを生成した後、WebTools (/webtools.php) にアクセスして Controllers の画面を開くと、以下のようなエラーが表示されます:

Sorry, WebTools doesn’t know where is the controllers directory.
Please add to application section controllersDir param with valid path.


Models や Scaffold の画面も同様です。

アプリケーションの設定ファイル(app/config/config.php)を見ると controllersDir などは正しく設定されているはずなのに…

原因を調べたところ、 config.php 内の

defined('APP_PATH') || define('APP_PATH', realpath('.'));

の記述が間違っているようです。

上記の設定だと、定数 APP_PATH が、アプリケーションルートではなく、その下の public フォルダを指してしまい、階層がずれてしまうようです。

この行を以下のように修正すると APP_PATH の値が正しいパスになり、エラーが無くなりました:

defined('APP_PATH') || define('APP_PATH', realpath('..'));

realpath() の括弧の中の「.」の数が、1つではなく2つになっているところが修正個所です。


Pocket
Bookmark this on Yahoo Bookmark

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>