Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法识别Symfony 3.4控制台命令定义_Php_Symfony_Symfony 3.4 - Fatal编程技术网

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

Php 无法识别Symfony 3.4控制台命令定义,php,symfony,symfony-3.4,Php,Symfony,Symfony 3.4,我正在将现有的Symfony 3.3应用程序升级到Symfony 3.4 尽管我已经在bundle的services.yml文件中定义了命令,但我还是收到了控制台命令自动注册警告。警告: [2017-12-14 12:22:19]php.INFO:不推荐用户:自动注册 命令“Dplh\dplhissesbundle\command\issuereportcommand”是 自Symfony 3.4以来已弃用,在4.0中不受支持。使用PSR-4 而是基于服务发现 Dplh/dplhissesbun

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

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

[2017-12-14 12:22:19]php.INFO:不推荐用户:自动注册 命令“Dplh\dplhissesbundle\command\issuereportcommand”是 自Symfony 3.4以来已弃用,在4.0中不受支持。使用PSR-4 而是基于服务发现

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

services:
  Dplh\DplhIssuesBundle\Command\IssuesReportCommand:
    public:   true
    tags:     ['console.command']
    calls:
      - [ saveDependencies, [ '@logger' ]]
我确信services.yml文件正在由Symfony处理,因为如果我故意在其中创建语法错误,Symfony会报告该文件包含无效的YAML。

最终找到了它。 在另一个捆绑包的services.yml文件中存在对Dplh\dplhissesbundle\Command\issuereportcommand类的引用(我敢肯定,复制/粘贴错误)


删除该引用将删除错误。

是否将其移出
命令
目录?(如果您仍在使用3.4,它会在其中找到并投诉。)我还有其他私有捆绑包,它们的命令目录包含在services.yml文件中定义的命令,Symfony不会投诉它们。好吧,如果您不想把它移走,您需要为命令指定一个名称,以便实际发生延迟加载:
标记:{name:'console.command',command:'issues:report'}
。好的。在命令源中添加了$defaultName。已将标记更改为同时包含名称和命令。完全相同的结果。此外,还有一个问题,为什么它不抱怨其他bundle中的命令。Straw-grapping:dump autoload(理论:其他bundle在第一次通过时已正确配置,而这一个不需要——需要更正(完成)和缓存重置(挂起的dump autoload))。