[英]Symfony Route breaks Debug Toolbar
在通过控制器加载我的Twig-Template并显示它之后-花费了一段时间,并且显示了以下错误:“加载Web调试工具栏时发生错误(404:未找到)。”
现在我研究了大约2个小时,找不到适合我的解决方案! 我发现了导致此问题的“物”-其以下路线:
showPage:
pattern: /{a}/{b}/{c}
defaults: { _controller: MyBundle:Page:show, a: null, b: null, c: / }
requirements:
b: \d+
c: .+
我更改了routing_dev.yml的顺序,以便在WDT之前导入routing.yml以便可以覆盖它-routing_dev.yml现在看起来像:
_main:
resource: routing.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
我使用当前的Symfony-Version 2.5.0-.htaccess文件是Symfony2-Repo中的默认文件-mod_rewrite和mod_alias已启用!
如果我转到一个不存在的页面,并且symfony说找不到“ bla”的路由-工具栏将起作用。
您是否有一个想法如何将WDT路由设置为例外?
我以为这是一个路由问题是错误的-在EventListener中引起的问题,该事件使用了Doctrine DBAL QueryBuilder并试图将对象传递给DBAL-Connection的“ fetchAll”。
这会导致错误,但Symfony不会告诉任何地方,它只会显示我的网站,并显示Debug-Toolbar的404。
打开日志文件app/logs/dev.log
并搜索CRITICAL
关键字,您将发现Symfony未app/logs/dev.log
的Fatal Error
。 尝试修复它。
在这里参加聚会很晚,但是我的情况也一样,而且真的很难找到答案。 这正是nPoday在2014年6月9日在这里所说的:我的一个监听器抛出了一个错误,尽管这与教义无关。 这是AWS包装器的问题,启动时应用程序甚至是我正在加载的页面都没有引发过该问题。 绝对检查您的侦听器,将其一个接一个地禁用,您可能会发现调试工具栏突然开始工作。
有很多事情可能会破坏工具栏,最常见的问题之一是无前途的错误。 因此,请确保在拉出所有头发之前先检查所有日志。
在我的情况下,出现了"NOTICE: PHP message: PHP Fatal error: Access level to UserBundle\\Entity\\User::$id must be protected (as in class FOS\\UserBundle\\Model\\User) or weaker in ..."
我的id
是私人的。
修复后,该工具栏重新出现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.