如何在Symfony 4中启用分析器

8

解决:

我重新安装了所有内容,现在它包含了web_profiler.yalm。感谢所有人。


原始问题是:
我刚开始学习Symfony,所以我下载了KnpUniversity上的免费视频来入门。当我看到视频“Web Debug Toolbar & the Profiler!”时,我执行了下一个命令:
> composer require profiler --dev

安装成功。

然后,当我在浏览器中打开我的应用程序时,底部的“(...)光滑黑色条”没有显示出来。

我在某个地方读到说,可能是因为我没有安装symfony/debug,但看看我的composer.json:

"require-dev": {
        "sensiolabs/security-checker": "^4.1",
        "symfony/debug": "^4.0",
        "symfony/dotenv": "^4.0",
        "symfony/profiler-pack": "^1.0",
        "symfony/web-server-bundle": "^4.0"
    },

我已经安装了它。
我执行了以下命令,它给我提供了项目中的分析器配置:
> php bin/console debug:config web_profiler                   

Current configuration for extension with alias "web_profiler" 
============================================================= 

web_profiler:                                                 
    toolbar: false                                            
    intercept_redirects: false                                
    excluded_ajax_paths: '^/((index|app(_[\w]+)?)\.php/)?_wdt'

如您所见,工具栏被设置为false,我该如何激活它?如何显示分析器栏?

我使用的是:

  • Composer版本1.6.5,
  • Symfony 4.1.1和
  • PHP 7.2.7

谢谢。

解决方案:

我创建了一个新项目,它可以正常工作,这似乎是当composer下载软件包时出现的错误。


1
嗯,如果你根本没有这个文件,那么你可能已经搞了一些配置或者你没有通过composer加载它。最好是从头开始一个干净的项目。不确定发生了什么事情。 - Cerad
另一个想法是环境。{{ dump(app.environment) }} 如果不是 dev,那就没有调试栏。另外,如果可以的话,请检查谷歌浏览器扩展程序 Symfony2 Profiler,它可以与3.4一起使用,不能确定适用于Symfony 4。 - domagoj
1
@Domagoj 我的意思是我执行了以下命令:composer require --dev symfony/profiler-pack 和 composer require --dev symfony/debug。 - Nestor
@Domagoj 我正在使用 dev:php bin/console 命令,返回结果如下: Symfony 4.1.1 (kernel: src, env: dev, debug: true) - Nestor
我也是初学者。起初,我认为它与你一样无法工作。之后,我知道“底部的光滑黑色条...”只会出现在使用Twig的页面上!你呢? - Nava
显示剩余19条评论
2个回答

13

我刚安装了一个新项目,并确认分析器和工具栏默认启用。配置在config/packages/dev/web_profiler.yaml,以下是配置:

web_profiler:
    toolbar: true
    intercept_redirects: false

framework:
    profiler: { only_exceptions: false }

1
没有问题。我运行了 symfony/website-skeletonskeleton 是用于 API 和微服务的。如果你使用了 skeleton,你可能会缺少 Twig bundle,也许还有其他的东西。 - domagoj
你能在你的应用程序中渲染任何视图吗? - domagoj
1
是的,我可以渲染视图 @Domagoj - Nestor
啊,现在看起来你似乎缺少了分析器的命名路由...这很奇怪,因为当你安装这个包时,composer没有为你提供模板。我的下一个建议是,你可以尝试删除所有与最近尝试安装分析器包有关的内容,然后重新安装并查看是否有任何错误输出,或者尝试弄清楚为什么Symfony Flex没有为你创建所有文件。或者你可以尝试创建一个新的骨架,并在那里安装它。 - domagoj
4
框架: 分析器:{ only_exceptions: false } 这部分对我很有帮助。谢谢! - alumi
显示剩余4条评论

3
请注意,您需要附加web_profiler路由。
在:

config/routes/dev/web_profiler.yaml

web_profiler_wdt:
resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml'
prefix: /_wdt

web_profiler_profiler:
resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml'
prefix: /_profiler

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接