当前位置: 首页 > news >正文

Xdebug安装与PhpStorm调试配置

一、Xdebug 介绍

Xdebug 是 PHP 的一个扩展,提供了多种功能以改善 PHP 开发体验。

  • 单步调试:在脚本执行时于集成开发环境(IDE)或编辑器中逐行调试代码的一种方式。
  • PHP 错误报告的改进:改进的 var_dump() 函数,针对提示、警告、错误和异常提供堆栈跟踪,以突出显示导致错误的代码路径。
  • 跟踪:将每个函数调用(包括参数和调用位置)写入磁盘。还包括每个函数中的变量赋值和返回值。资料收集借助可视化工具,让您能够分析 PHP 应用程序的性能并找出瓶颈。
  • 代码覆盖率分析:用于展示在使用 PHPUnit 运行单元测试时,您的代码库中哪些部分被执行。

 

二、安装 Xdebug

1、使用 phpinfo() 输出本地安装的 PHP 信息

image

 

2、复制 phpinfo() 中的所有内容,放入下图文本框中获取合适版本的Xdebug。(下图地址:https://xdebug.org/wizard)

image

 

3、点击【Analyse my phpinfo() output】按钮后出现下图内容,根据下图中步骤进行安装。

image

 

4、在对应PHP版本的 php.ini 文件底部添加以下配置内容:

[xdebug]
xdebug.idekey="PHPSTORM"
zend_extension="自己php的目录\ext\php_xdebug.dll"
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9111
xdebug.log="自己的日志目录\tmp\xdebug.log"
xdebug.start_with_request=yes

 

三、配置 PhpStorm 使用 Xdebug

1、打开phpstorm -> fiel -> settings

image

 

 

2、选择 PHP 后如下图操作

image

 

3、选择对应的PHP版本和之前下载的Xdebug

image

 

4、在设置页面选择Debug【 phpstorm -> fiel -> settings -> PHP -> Debug 】进行配置:

image

 

5、配置 IDE key,如下图:

image

 

6、配置服务器路径映射【 phpstorm -> fiel -> settings -> PHP -> Servers 】

image

 

四、开始调试

1、调试方法:

  • 启动监听

    在 PhpStorm 的右上角,点击电话图标 image(Start Listening for PHP Debug Connections),让它变成按下状态。

  • 设置断点

    在你的代码中,行号旁边点击一下,设置一个断点(会出现一个红点)。

  • 触发调试

    有两种常用方式让 Xdebug 连接到 PhpStorm:

    • 方法A:使用浏览器扩展(最简单)

      安装 Xdebug Helper 浏览器扩展(支持 Chrome, Firefox, Edge)。

      在浏览器中打开你的项目页面。

      点击浏览器工具栏中的 Xdebug Helper 图标,选择 Debug,图标会变成绿色。

      刷新页面。PhpStorm 会自动捕获到调试连接,并弹出调试窗口,停在你的断点处。

    • 方法B:使用 URL 参数或 Cookie

      在你要调试的页面 URL 后加上参数 ?XDEBUG_SESSION_START=PHPSTORM。

      或者,使用开发者工具(F12)设置一个名为 XDEBUG_SESSION,值为 PHPSTORM 的 Cookie。

      然后访问该 URL。同样会触发调试。

  • 在 PhpStorm 中调试

  一旦触发成功,PhpStorm 会变为调试视图,你可以:

  1. 查看变量:在 Variables 窗口查看所有变量值。
  2. 步进调试:使用 Step Over (F8), Step Into (F7), Step Out (Shift+F8) 等按钮控制执行流程。
  3. 查看调用栈:查看函数调用链。
  4. 计算表达式:动态计算某个表达式的值。

image

 

2、主要快捷键:

快捷键名称作用

image(F8)

Step Over 单步跳过。执行当前行代码,如果该行调用了函数或方法,不会进入其内部,而是将其作为一个整体执行完,然后跳到下一行。用于快速穿越你不关心的函数。

image(F7)

Step Into 单步进入。执行当前行代码,如果该行有函数或方法调用,会进入该函数或方法的内部。这是分析逻辑细节最常用的操作。
Alt+Shift+F7 Force Step Into 强制单步进入。即使是被调用的函数是 PHP 内置函数(如 array_map)或者 Composer 依赖库中的函数,也会强制进入。普通 Step Into 会跳过这些。

image(Shift+F8)

Step Out 单步跳出。当你进入一个函数内部后,使用此操作会直接执行完当前函数的剩余所有代码,并返回到调用这个函数的位置。当你误入一个复杂函数或快速看完核心逻辑后想离开时非常有用。

image(Alt+F9)

Run to Cursor 运行到光标处。让代码一直执行,直到到达你光标所在的那一行。这比设置多个断点再依次跳过更高效。
F9 Resume Program 恢复程序。让代码继续正常运行,直到遇到下一个断点或脚本结束。

image(Ctrl+F2)

Stop 停止。终止当前的调试会话。
http://www.wxhsa.cn/company.asp?id=4716

相关文章:

  • vue - 内置指令
  • 东南大学数据库课程02-DataModel数据模型
  • Torch核心数据结构Tensor(张量)
  • vue - 进阶
  • 读书笔记:为什么你的数据库有时不用索引?一个关键参数告诉你答案
  • MacOS升级15.2后的问题(一):安装第三方下载的软件,提醒文件已损坏
  • Playwright MCP浏览器自动化教程
  • 故障分析:ORA-00900 修改props$中字符集导致
  • 实用指南:Flask学习笔记(三)--URL构建与模板的使用
  • Ollama + Python 极简工作流
  • 快速搞定Dify+Chrome MCP:打造能操作网页的AI助手
  • HCIP——RSTP
  • ORA-01555系列:三、ORA-01555总结与高级优化建议
  • Unstable Twin - TryHackMe
  • 单片机实现挡位调节
  • 完整教程:从 WildCard 野卡到 gptplus.plus:一次解决 OpenAI 支付难题的实战复盘,轻松搞定Gpt充值
  • 阿里 Qoder 新升级,Repo Wiki 支持共享、编辑和导出
  • 长城杯WriteUp
  • vite取别名@
  • JavaScript数据网格方案AG Grid 34.2 发布:更灵活的数据结构、更流畅的大数据交互与全新 UI 体验
  • BOE(京东方)IPC电竞嘉年华盛典圆满收官 第三届无畏杯总决赛引领电竞生态发展热潮
  • P1886 滑动窗口 /【模板】单调队列
  • kingbase金仓数据库docker部署完整步骤
  • glTF/glb功能、应用和 5 个基本最佳实践
  • AI 应用开发,不就是调个接口么?
  • 95.费解的开关
  • godot4人物移动一段距离后随机旋转代码,(死循环)
  • Spotify 音乐ML练习数据集含158 个特征,11
  • abc423
  • AI辅助分析HP DL360 GEN7 服务器安装USB3扩展卡