从 2.0.3 更新到 2.0.4 后,Yii 控制台命令在 windows 上停止工作

Yii console commands stopped working on windows after updating from 2.0.3 to 2.0.4

我刚刚更新到 Yii 2.0.4,现在我的自定义控制台命令不起作用。但是,默认的 Hello 仍然有效。

$ yii hello
hello world
$ yii kw
Error: Unknown command "kw".
$ ls commands
HelloController.php  KWController.php

它在 2.0.3 之前就可以正常工作。

奇怪,因为它自己出现在 yii 命令中:

$ yii | grep hello
- hello                        This command echoes the first argument that you have entered.
    hello/index (default)      This command echoes what you have entered as the message.
$ yii | grep kw
- kw

我正在研究 windows。

问题可能与您的控制器名称有关...默认情况下,kw 命令会查找 KwController.php 而不会找到 KWController.php 如果您的文件系统区分大小写。

您可以通过重命名文件来解决这个问题,或者如果您不想这样做,请手动将控制器文件添加到 yii 文件中的 controllerMap

$application = new yii\console\Application($config);
$application->controllerMap['kw'] = 'console\controllers\KWController';