我试图在新的symfony2项目上安装FOSUserBundle。我已经按照步骤安装了它,但我仍然遇到此错误:
FileLoaderImportCircularReferenceException in FileLoader.php line 97:
Circular reference detected in "/Users/tom/Sites/symfony/todo/app/config/routing_dev.yml" ("/Users/tom/Sites/symfony/todo/app/config/routing_dev.yml" > "/Users/tom/Sites/symfony/todo/app/config/routing.yml" > "/Users/tom/Sites/symfony/todo/app/config/routing_dev.yml").
当我尝试运行php app/console router:debug
时,我收到错误:
[Symfony\Component\Config\Exception\FileLoaderLoadException]
Cannot load resource "@FOSUserBundle/Resources/config/routing/all.xml". Make sure the "FOSUserBundle" bu
ndle is correctly registered and loaded in the application kernel class.
即使我在AppKernel中加载了包。
在routing.yml中,我有(如果有帮助):
fos_user:
resource: "@FOSUserBundle/Resources/config/routing/all.xml"
似乎无法找到任何相关信息,但如果我没有足够好地搜索,我会道歉。
答案 0 :(得分:3)
已从项目中删除了AcmeDemoBundle,但尚未从routing_dev.yml
文件中删除相关的路由代码。
答案 1 :(得分:0)
如果缓存不适合您,请查看您是否包含在控制器中使用注释路由所需的命名空间,在我的情况下我缺少要添加:
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
在我的控制器中。 我打开一个问题,因为异常抛出对于这种情况是错误的,因为它说的是同样的错误:
FileLoaderImportCircularReferenceException
答案 2 :(得分:0)
如果删除该行,也会发生这种情况:
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
来自您的控制器。 Symfony需要这一行来进行@Route注释。
答案 3 :(得分:0)
我遇到了同样的问题和错误信息,但我找不到任何循环引用。
问题:yml文件中的缩进。
abc_bundle_route:
path: /my-url/{id}
defaults: { _controller: ABCBundle:Monitor:mycontroller, id: 0 }
requirements:
id: -?\d+
与(正确)不一样:
abc_bundle_route:
path: /my-url/{id}
defaults: { _controller: ABCBundle:Monitor:mycontroller, id: 0 }
requirements:
id: -?\d+
通过设置正确的缩进,错误得以解决。