CakePHP的外壳:贝壳类HelloShell找不到(Cakephp shell :Shell c

2019-06-24 14:28发布

我是一个新来CakePHP的。我配置CakePHP的外壳作为CakePHP的手册说,当我用命令蛋糕您好运行HelloShell,我得到了错误的信息如下:

Error: Shell class HelloShell could not be found.
1#G:\htdocs\cakedemo\lib\Cake\Console\ShellDispatcher.php(191):ShellDispatcher>_getShell('hello')
2#G:\htdocs\cakedemo\lib\Cake\Console\ShellDispatcher.php(69):ShellDispatcher->dispatch()
3#G:\htdocs\cakedemo\app\Console\cake.php(33):ShellDispatcher::run(Array)  {main}

我的CakePHP的版本:

欢迎来到CakePHP的V2.2.0-β控制台

应用程序:控制台

路径:G:\ htdocs中\ cakedemo \程序\控制台\

任何人谁是有帮助的可以给我一个建议,呼吁。

Answer 1:

还有就是你的错误。 你应该总是在执行蛋糕控制台您的应用程序路径。

...app/>../lib/Cake/Console/cake MyShell

或(使用APP控制台文件夹):

...app/>Console/cake MyShell

和MyShell应该然后是...app/Console/Command/ 。 这里的所有都是它的。



Answer 2:

错误: Shell class HelloShell could not be found出现的原因是:在错误的目录错字错误或运行命令。

解:

1.一种用于php.exe的,cake.exe设置路径

2.例如,我的蛋糕的网站根目录是:

C:\tools\xampp1.8.3\htdocs\cakephp-2.5.5

在创建新的文件夹中的文件C:\tools\xampp1.8.3\htdocs\cakephp-2.5.5\app\Console\Command\HelloShell.php与内容:

class HelloShell extends AppShell {
    public function main() {
        $this->out('Hello world.');
    }
}

3.打开CMD,类型:

cd /d C:\tools\xampp1.8.3\htdocs\cakephp-2.5.5\app

cake hello

我们使用hello在命令行调用HelloShell类,因为“约定优于配置”。

参考: http://book.cakephp.org/2.0/en/console-and-shells.html#creating-a-shell



Answer 3:

请确保你给饼夹路径/var/www/html/Console/cake.php的ini_set( 'include_path中',$根。PATH_SEPARATOR。 '蛋糕'。$ DS。 'LIB'。PATH_SEPARATOR。ini_get( 'include_path中') );

然后去根文件夹。 在我的情况下,位置将是/ var / www / html等/然后给shell文件名; 你好是我的壳的名字,那将是/ var / www / html等/控制台/蛋糕你好组合在一起的/ var / www / html等$在/ var / www / html等/控制台/蛋糕你好

你的壳将被执行。



文章来源: Cakephp shell :Shell class HelloShell could not be found
标签: shell cakephp