Symfony - 缓存中的重复类定义

时间:2017-12-03 11:28:52

标签: php symfony caching composer-php

我创建了一个非常简单的Symfony(3.4)项目,只有一个api打印出一个静态json。

当我第一次运行api时一切正常,但是第二次我遇到了这个错误:

(1/1) FatalErrorException
Compile Error: Cannot redeclare class Symfony\Bundle\FrameworkBundle\Controller\ControllerNameParser
in ControllerNameParser.php (line 24)

这就是为什么在cache/{env}/classes.php里面重新定义了这个类。实际上,清除缓存会使api工作,但这只是第一次。

我该如何解决这个问题?我认为可能是与composer.json autoload相关的东西,这里是剪辑

    "autoload": {
    "psr-4": {
        "AppBundle\\": "src/AppBundle",
        "MyCompany\\TypeBundle\\": "src/MyCompany/TypeBundle"
    },
    "classmap": [
        "app/AppKernel.php",
        "app/AppCache.php"
    ]
},

提前致谢

1 个答案:

答案 0 :(得分:3)

我有同样的问题。正如我所见,symfony团队正在解决这个问题。

尝试这样做: 在composer.json中将版本从3.4。*更改为3.3。*和作曲家更新symfony / symfony 比改变3.3。*到3.4。* back和composer update symfony / symfony

对我来说它解决了这个问题。尝试。