我是cakephp的新手。我将cakephp shell配置为cakephp 手册说,当我用命令cake运行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版本:
应用:控制台
任何有帮助的人都可以给我一个建议,请求。
答案 0 :(得分:14)
你的错误。 你应该总是在你的APP路径中执行蛋糕控制台。
...app/>../lib/Cake/Console/cake MyShell
或(使用APP控制台文件夹):
...app/>Console/cake MyShell
然后和MyShell应该在...app/Console/Command/
。
多数民众赞成就是这样。
答案 1 :(得分:2)
错误:Shell class HelloShell could not be found
出现是因为:拼写错误或在错误的目录下运行命令。
<强>解决方案:强>
1。 php.exe,cake.exe的安装路径
2. 例如,我的Cake网站根目录是:
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
类,因为“Convention over configuration”。
参考: http://book.cakephp.org/2.0/en/console-and-shells.html#creating-a-shell
答案 2 :(得分:0)
确保在/var/www/html/Console/cake.php中提供蛋糕文件夹路径 ini_set('include_path',$ root.PATH_SEPARATOR。'Cake'。$ ds。'lib'.PATH_SEPARATOR.ini_get('include_path'));
然后转到根文件夹。在我的情况下,位置将是 在/ var / www / html等/ 然后给出shell文件名;你好是我的shell名字,那就是 / var / www / html / Console / cake你好 结合在一起 / var / www / html $ / var / www / html / Console / cake你好
你的shell将被执行。