我创建了一个非常简单的Symfony(3.4)项目,只有一个API可以打印出一个静态json。
当我第一次运行该 api 时,一切正常,但从第二次开始我收到此错误:
(1/1) FatalErrorException
Compile Error: Cannot redeclare class SymfonyBundleFrameworkBundleControllerControllerNameParser
in ControllerNameParser.php (line 24)
这就是为什么在cache/{env}/classes.php
内部重新定义了该类的原因。事实上,清除缓存会使 api 正常工作,但这只是第一次。
如何解决问题?我认为可能与 composer.json 自动加载有关,这里是截图
"autoload": {
"psr-4": {
"AppBundle\": "src/AppBundle",
"MyCompany\TypeBundle\": "src/MyCompany/TypeBundle"
},
"classmap": [
"app/AppKernel.php",
"app/AppCache.php"
]
},
提前致谢
我遇到了同样的问题。 正如我所看到的,Symfony的团队正在解决这个问题。
尝试这样做: 在 composer.json 中将版本从 3.4.* 更改为 3.3.* 和作曲家更新 symfony/symfony 比将 3.3.* 更改为 3.4.* 返回和作曲家更新 symfony/symfony
对我来说,它解决了问题。 试试。