指尖上的记忆指尖上的记忆
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub

关于Symfony_Profiler和Web_Debug_Toolbar: Symfony Profiler 和 Web Debug Toolbar 是 Symfony 框架中非常强大的调试工具。让我为你详细介绍它们的使用方法:

1.Web Debug Toolbar

Web Debug Toolbar 是在浏览器底部显示的一个工具栏,提供了关于当前请求的各种信息。

使用方法:

  • 确保你的应用运行在开发环境(APP_ENV=dev)。
  • 访问你的应用的任何页面,你应该能在底部看到这个工具栏。

主要功能:

  • 显示 Symfony 版本
  • 显示当前路由信息
  • 显示请求和响应信息
  • 显示性能数据(如执行时间、内存使用)
  • 数据库查询数量和时间
  • 显示日志信息
  • 提供链接直接进入 Symfony Profiler

2.Symfony Profiler

Symfony Profiler 提供了更详细的调试信息。

使用方法:

  • 点击 Web Debug Toolbar 上的任何链接,或者直接访问 /_profiler 路由。
  • 你也可以在控制器中使用 $this->getDoctrine()->getManager()->getConnection()->getConfiguration()->setSQLLogger(new \Doctrine\DBAL\Logging\DebugStack()); 来记录数据库查询。

主要功能:

  • 请求/响应信息
  • 性能时间线
  • 数据库查询详情
  • 日志和异常
  • 安全信息
  • 路由详情
  • 缓存使用情况

3.配置和使用技巧

  • 在 config/packages/dev/web_profiler.yaml 中可以配置 Profiler:
web_profiler:
    toolbar: true
    intercept_redirects: false
  • 你可以在控制器中注入 Profiler 服务:
use Symfony\Component\HttpKernel\Profiler\Profiler;

public function someAction(Profiler $profiler)
{
    // 使用 profiler
}
  • 在模板中,你可以使用 {{ profiler_dump(var) }} 来输出变量的详细信息。

4.性能考虑

记住,Profiler 和 Debug Toolbar 会对应用性能产生影响,所以只应在开发环境中使用。在生产环境中,确保它们被禁用。

5.远程调试

Symfony Profiler 还支持远程调试。你可以在一台机器上收集数据,然后在另一台机器上查看。这对于调试生产环境的问题特别有用。

6.自定义 Data Collectors

你可以创建自定义的 Data Collectors 来收集和显示特定的信息。这对于监控应用的特定方面非常有用。

symfony7项目可以通过如下命令查看 /_profiler/ 路径

其实是通过 web_profiler.yaml 配置的
这个基于 symfony/web-profiler-bundle 包
php bin/console debug:router
我发现和 安装symfony/debug-bundle 包 没关系,没安装也可以访问