我正在研究Symfony2 Command
,当我尝试在prod
环境中运行命令时出错,但它在dev
中完美运行:
如果我跑的话,一切都很好:
php app/console mycommand:start
当我跑步时
php app/console mycommand:start --env=prod
我收到此错误:
[LogicException]
The command defined in "NameSpace\Of\MyClassCommand" cannot have an empty name.
命令定义:
services:
my_service.command:
class: NameSpace\Of\MyClassCommand
arguments:
name: mycommand:start
tags:
- { name: console.command }
命令:
class MyClassCommand extends Command
{
/**
* @param InputInterface $input
* @param OutputInterface $output
*/
protected function execute(InputInterface $input, OutputInterface $output)
{
// logic
}
...
}
您可能会注意到,我没有重载__construct
或configure
方法。我试过但它没有改变任何东西。如果我清理缓存也一样。
有没有人知道prod
和dev
环境之间可能存在什么区别,导致此问题?
谢谢
答案 0 :(得分:1)
我终于找到了解决方案,Ruslan你是对的:清除缓存。
但我不得不手动核对缓存文件夹,echo [850860.000000000000000]
命令还不够。
答案 1 :(得分:1)
清除缓存对我不起作用。我需要将基类声明为if(checkRememberMe){
SharedPreferenceUtils.createSP(LoginActivity.this,etLogin.getText().toString(),fullnamedb,branchdb,sectiondb,true);
}
以暗示Symfony不将其注册为命令。
abstract class