Symfony 2调试工具栏没有显示

时间:2017-03-07 14:05:14

标签: php symfony profiler

Symfony调试工具栏没有显示,我试图检查很多东西,但到目前为止没有运气。

我在app_dev.php环境中运行网站,我的config_dev.yml有:

web_profiler:
toolbar: true
intercept_redirects: false

app_dev / php没有任何IP限制,它使用开发环境运行AppKernel。此外,AppKernel还有: $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle(); 主要问题可能是HTML,但它有开始和结束标记。我甚至尝试删除所有HTML,只留下一些HTML和body标签,没有运气。

还有什么我可以尝试的吗?也许有些文件可能会丢失?我怎么检查呢?这不是Symfony的全新安装版本。

5 个答案:

答案 0 :(得分:17)

确保您可以勾选此核对清单中的所有项目符号:

  • 您正在通过app_dev.php访问该页面使用开发模式(对您而言是真实的)
  • 工具栏通过在生成的页面上查找终止</body>标记来在页面中插入。如果您的页面中没有</body>标记,则不会显示工具栏(如上面的答案中所示)。示例twig文件作为参考:

    {% extends '::base.html.twig' %}行将app/Resources/views/base.html.twig扩展为默认<body>...</body>注入您的自定义树枝文件。

    {% extends '::base.html.twig' %}
    
    {% block body %}
      Hello!
    {% endblock %}
    
  • 您已在AppKernel.php

    中启用了探查器
    public function registerBundles(){
      $bundles = ...
      if (in_array($this->getEnvironment(), array('dev', 'test'))) {
        $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
      ...
      }
    return $bundles;
    }
    
  • 您已启用javascript。

  • 彻底检查最近添加的捆绑包(特别是自定义捆绑包)。因为Cases like this会导致问题。

答案 1 :(得分:7)

仔细检查您的<body>代码是否有结束</body>标记。根据我的经验,当工具栏突然消失时,因为HTML格式错误导致关闭正文标记丢失,或者控制器正在返回仅包含纯文本内容的Response对象。

答案 2 :(得分:0)

我遇到了一个大型(ish)应用程序的问题,该应用程序的工具栏未显示在内存密集的页面上。原来,我的php内存限制已用尽。我将php.ini文件中的memory_limit设置为适当的大小并对其进行了排序。

答案 3 :(得分:0)

如果将环境设置为dev,则应在底部显示调试工具栏

按以下步骤编辑web / app.php;

$ kernel = new AppKernel('dev',true);

答案 4 :(得分:0)

我最近在SF3.4中有一个旧项目,在我的情况下,由于config.yml文件中的以下键,调试工具栏没有显示

framework:
    [...]
    profiler:
        collect: false

我对这两行发表了评论,它再次起作用。