无法识别 Symfony 3.4 控制台命令定义

Symfony 3.4 console command definition not being recognized

我正在将现有的 Symfony 3.3 应用程序升级到 Symfony 3.4。

尽管我已经在捆绑包的 services.yml 文件中定义了命令,但我还是收到控制台命令自动注册警告。警告:

[2017-12-14 12:22:19] php.INFO: User Deprecated: Auto-registration of the command "Dplh\DplhIssuesBundle\Command\IssuesReportCommand" is deprecated since Symfony 3.4 and won't be supported in 4.0. Use PSR-4 based service discovery instead.

Dplh/DplhIssuesBundle/Resources/config/services.yml中的条目:

services:
  Dplh\DplhIssuesBundle\Command\IssuesReportCommand:
    public:   true
    tags:     ['console.command']
    calls:
      - [ saveDependencies, [ '@logger' ]]

我确信 Symfony 正在处理 services.yml 文件,因为如果我故意在其中创建语法错误,Symfony 会报告该文件包含无效的 YAML。

终于找到了。 在另一个包的 services.yml 文件中引用了 Dplh\DplhIssuesBundle\Command\IssuesReportCommand class(copy/paste 错误,我确定)。

删除该引用删除了错误。