Symfony 2 调试工具栏不显示

Symfony 2 debug toolbar not showing

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 标记,但它同时具有开始和结束 <body> 标记。我什至试图删除所有 HTML,只留下几个 HTML 标签,但没有成功。

还有什么我可以尝试的吗?
也许某些文件可能会丢失。我该如何检查?

这不是全新的 Symfony 安装。

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

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

  • 您正在通过 app_dev.php 访问页面来使用开发模式(适合您)
  • 工具栏通过在生成的页面上查找终止 </body> 标记将自身插入到页面中。如果您的页面中没有 </body> 标记,则工具栏将不会出现(如上述答案所示)。示例树枝文件作为参考:

    {% extends '::base.html.twig' %} 将扩展 app/Resources/views/base.html.twig,它将默认值 <body>...</body> 注入到您的自定义 twig 文件中。

    {% 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会导致问题。

我遇到了一个大型(或多或少)应用程序的问题,其中工具栏未显示在占用大量内存的页面上。原来我的 php 内存限制已经用完了。我将我的 php.ini 文件中的 memory_limit 设置为足够的内容并对其进行了排序。

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

编辑 web/app.php 如下;

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

我最近在 SF3.4 中得到了一个旧项目,在我的例子中,由于 config.yml 文件

中的以下键,调试工具栏没有显示
framework:
    [...]
    profiler:
        collect: false

我评论了那两行,它又起作用了。

尝试重新安装工具栏

composer remove profiler
composer require --dev profiler

检查配置

bin/console debug:config framework profiler