cakephp console shell が動かない

2014年7月27日更新 view: 623 view
photoBy: http://www.blissfullydelicious.com/wp-content/upl…

動かへんやん

Error: Shell class HelloShell could not be found.

っていうエラーがでる。

ファイル構成

解決方法は、appフォルダで

Console/cake Bot
スポンサードリンク

をやると良い。

文字コード

何かしらの理由でいきなり文字コードが変わっている場合がある。
ということで文字コードをチェック。
違いを見比べてみると、動いた bash サンプルは改行コードが「LF」。動かない cake のbash は「CRLF」。いつの間に変わったのかしらと思い、cakeのbashを「LF」にすると、コレまでの不具合がウソのように消えた。

パス

/app/Console/cake.php のパスがおかしくないかチェック。
とくにcomposerでインストールしている場合は変更している場合が多いので要注意。

$ds = DIRECTORY_SEPARATOR;
$dispatcher = 'Cake' . $ds . 'Console' . $ds . 'ShellDispatcher.php';

if (function_exists('ini_set')) {
    $root = dirname(dirname(dirname(__FILE__)));

    // the following line differs from its sibling
    // /app/Console/cake.php
    ini_set('include_path', $root . PATH_SEPARATOR . $ds . 'var' . $ds . 'www' . $ds . 'html' . $ds . 'your.net' . $ds . 'Vendor' . $ds . 'cakephp' . $ds . 'cakephp' . $ds . 'lib' . PATH_SEPARATOR . ini_get('include_path'));
}

if (!include $dispatcher) {
    trigger_error('Could not locate CakePHP core files.', E_USER_ERROR);
}
unset($paths, $path, $dispatcher, $root, $ds);

return ShellDispatcher::run($argv);
スポンサードリンク

関連記事

関連カテゴリ

コロ助

web関連の記事や制作系の記事をどんどんまとめていきます。 宜しくお願いします!

ピックアップ

パソコン・ソフトウェア ランキング

2月24日 ( 金 ) にアクセスが多かった記事はこちら!