在Symfony2中创建Bundle之后的FileLoaderImportCircularReferenceException

时间:2015-04-19 21:02:01

标签: php symfony symfony-2.6 symfony-routing

我是Symfony开发的新手,我使用命令行php app\console generate:bundle创建了我的第一个项目和第一个包。

通常,我应该可以使用这个新的bundle并访问URL hello / {name},但是当我尝试访问URL http://localhost/mylibrary-web/web/app_dev.php/hello/test/时,我收到此错误消息:

FileLoaderImportCircularReferenceException in FileLoader.php line 97: Circular reference detected in "C:\wamp\www\mylibrary-web\app/config/routing_dev.yml" ("C:\wamp\www\mylibrary-web\app/config/routing_dev.yml" > "C:\wamp\www\mylibrary-web\app/config\routing.yml" > "C:\wamp\www\mylibrary-web\app/config/routing_dev.yml").

如何解决此问题?

这是我项目的路由文件:

C:\ wamp \ www \ mylibrary-web \ app \ config \ routing_dev.yml:

_wdt:
    resource: "@WebProfilerBundle/Resources/config/routing/wdt.xml"
    prefix:   /_wdt

_profiler:
    resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml"
    prefix:   /_profiler

_configurator:
    resource: "@SensioDistributionBundle/Resources/config/routing/webconfigurator.xml"
    prefix:   /_configurator

_errors:
    resource: "@TwigBundle/Resources/config/routing/errors.xml"
    prefix:   /_error

_main:
    resource: routing.yml

C:\ wamp \ www \ mylibrary-web \ app \ config \ routing.yml:

my_library_library:
    resource: "@MyLibraryLibraryBundle/Resources/config/routing.yml"
    prefix:   /

app:
    resource: "@AppBundle/Controller/"
    type:     annotation

C:\ wamp \ www \ mylibrary-web \ src \ MyLibrary \ LibraryBundle \ Resources \ config \ routing.yml:

my_library_library_homepage:
    path:     /hello/{name}
    defaults: { _controller: MyLibraryLibraryBundle:Default:index }

感谢您的帮助!

编辑:这里是命令行php app\console debug:router的结果:

C:\wamp\www\mylibrary-web>php app\console debug:router
[router] Current routes
 Name                        Method Scheme Host Path
 _wdt                        ANY    ANY    ANY  /_wdt/{token}
 _profiler_home              ANY    ANY    ANY  /_profiler/
 _profiler_search            ANY    ANY    ANY  /_profiler/search
 _profiler_search_bar        ANY    ANY    ANY  /_profiler/search_bar
 _profiler_purge             ANY    ANY    ANY  /_profiler/purge
 _profiler_info              ANY    ANY    ANY  /_profiler/info/{about}
 _profiler_phpinfo           ANY    ANY    ANY  /_profiler/phpinfo
 _profiler_search_results    ANY    ANY    ANY  /_profiler/{token}/search/results
 _profiler                   ANY    ANY    ANY  /_profiler/{token}
 _profiler_router            ANY    ANY    ANY  /_profiler/{token}/router
 _profiler_exception         ANY    ANY    ANY  /_profiler/{token}/exception
 _profiler_exception_css     ANY    ANY    ANY  /_profiler/{token}/exception.css
 _configurator_home          ANY    ANY    ANY  /_configurator/
 _configurator_step          ANY    ANY    ANY  /_configurator/step/{index}
 _configurator_final         ANY    ANY    ANY  /_configurator/final
 _twig_error_test            ANY    ANY    ANY  /_error/{code}.{_format}
 my_library_library_homepage ANY    ANY    ANY  /hello/{name}
 homepage                    ANY    ANY    ANY  /app/example

编辑2:使用命令行php app\console cache:clear清除缓存后,我现在遇到以下错误:

ContextErrorException in classes.php line 6415: Warning: filemtime(): stat failed for C:\wamp\www\mylibrary-web\app\cache\dev/annotations/597877fc1359850fa8786ead82dcc8f6f491d628.cache.php

1 个答案:

答案 0 :(得分:2)

我终于找到了解决方案......问题来自OPCache和以下设置:opcache.enable_file_override=1。用opcache.enable_file_override=0更改后一切正常:)