我一直在本地开发一个简单的Cake项目,并根据Console Commands文档创建了一个控制台命令。将所有工作移至运行单独的CakePHP副本的开发服务器(服务器运行的版本CakePHP 3.5.13本地版本的运行CakePHP 3.6)时,尝试运行bin/cake hello
命令会出现以下错误:
Exception: Unknown command 'cake hello'. Run 'cake --help' to get the list of valid commands. in [/var/www/vhosts/[SERVER_NAME]/vendor/cakephp/cakephp/src/Console/CommandRunner.php, line 177]
我尝试直接在服务器上从头开始创建新的控制台命令,但最终出现相同的错误,这应该排除命令代码是问题所在。
所有文件都位于正确的位置:src/Command/HelloCommand.php
HelloCommand.php代码与文档中的示例完全相同。
我很想知道为什么它找不到命令。运行cake --help
时,它也不会出现在命令列表中。
我想念CakePHP新创建的控制台命令吗?有什么理由使该命令在本地运行良好,但在远程服务器上运行却有所不同,或者我只是错过了什么!
谢谢
答案 0 :(得分:0)
命令仅在CakePHP 3.6及更高版本中可用,在早期版本中,您必须使用Shell。
旁注:不要使用不同的CakePHP版本,如果您不想惹上麻烦,您的开发和生产环境应尽可能相同!
另请参见