2014-06-08 50 views
0

通过Controller加载我的Twig-Template并显示它之后 - 它需要一段时间,我得到这个错误显示:“加载Web调试工具栏(404:未找到)时发生错误。”Symfony路由中断调试工具栏

现在我研究了大约2个小时,找不到合适的解决方案!我发现了“东西”造成这一问题 - 它的路线如下:

showPage: 
pattern: /{a}/{b}/{c} 
defaults: { _controller: MyBundle:Page:show, a: null, b: null, c:/} 
requirements: 
    b: \d+ 
    c: .+ 

我routing_dev.yml改变顺序,这样的routing.yml将WDT前进口,因此它可以覆盖它 - 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-版本2.5.0 - .htaccess文件是默认的一个从Symfony2的回购 - mod_rewrite的和mod_alias中被启用!

如果我去了一个不存在的页面,symfony说没有找到“bla”的路由 - 工具栏的工作。

你有一个想法如何使WDT路线例外?

+0

您是否尝试过运行'app/console router:debug'&'app/console router:match'命令,这些可能会给您提供线索 – tawfekov

+0

您尝试在** symfony profiler之后导入'_main'资源**路线? –

+0

@tawfekov thx - 发现路线正在工作 – nPoday

回答

0

我错了我认为它是一个路线问题 - 在使用Doctrine DBAL QueryBuilder的EventListener中导致的问题,并尝试将对象传递给DBAL-Connection的“fetchAll”。

这个错误导致错误,但Symfony并没有告诉它它只显示我的网站,并说404调试工具栏。

0

打开日志文件app/logs/dev.log并搜索CRITICAL关键字,您会发现没有被Symfony捕获的Fatal Error。尝试修复它。

0

这里的派对迟到了,但我遇到了同样的情况,很难找到答案。这正是nPoday在2014年6月9日在这里所说的:我有一个倾听者抛出了一个错误,尽管它不是与Doctrine相关的。这是一个AWS封装的问题,它甚至没有被启动时的应用程序所解雇,也没有被加载的页面展示了这个问题。绝对检查你的听众,逐个禁用它们,你可能会发现调试工具栏突然开始工作。

0

有很多事情可能会打破工具栏,其中最常见的错误之一就是出现错误。因此,请确保在将所有头发拉出之前检查所有日志。

在我的情况下有"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是私人的。

修复该工具栏后重新出现。