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的全新安装版本。
答案 0 :(得分:17)
确保您可以勾选此核对清单中的所有项目符号:
工具栏通过在生成的页面上查找终止</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
我对这两行发表了评论,它再次起作用。