当前位置: 首页 > 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.rkmt.cn/news/5208.html

相关文章:

  • 快速搞定Dify+Chrome MCP:打造能操作网页的AI助手
  • Unstable Twin - TryHackMe
  • 完整教程:从 WildCard 野卡到 gptplus.plus:一次解决 OpenAI 支付难题的实战复盘,轻松搞定Gpt充值
  • BOE(京东方)IPC电竞嘉年华盛典圆满收官 第三届无畏杯总决赛引领电竞生态发展热潮
  • 95.费解的开关
  • Spotify 音乐ML练习数据集含158 个特征,11
  • 最新药物数据集下载:来自Drugs
  • 400小时大规模南昌方言数据集助力方言保护、AI语音识别技术开发与文化传承研究,覆盖多样化场景与说话者,专业采集高质量音频与文本标注,支持深度学习、语音模型训练、方言教学工具及本地化智能语音交互应用
  • 350+张高清晰度冲积土、黑土、煤渣土、红土四类土壤类型图像资源 ,专为计算机视觉算法训练与地球科学研究设计,支持精准农业土壤识别、地质勘探辅助分析及环境监测应用,提升土壤分类模型准确性
  • 阶跃星辰开源Step-Video-T2V模型:300亿参数打造高保真视频生成新标杆
  • 多多报销小程序系统详解
  • 第0章 矿卡EBAZ4203爆改zynq开发板介绍和VIVADO的安装
  • 无痕检测是否注册iMessage服务,iMessages数据筛选,iMessage蓝号检测协议
  • Thundbird无法获取自签证书。
  • Gitee推出SBOM扫描功能:为开源供应链安全构筑数字防火墙
  • mysql连表查询,轻松掌握多表数据关联技巧
  • Qt-捕获摄像头画面
  • .NET驾驭Word之力:COM组件二次开发全攻略之连接Word与创建你的第一个自动化文档
  • 用户沉默之日,产品衰亡之时:逃离迭代中的“沉默陷阱”
  • 从工具到生态:现代Bug管理系统的平台化转型之路
  • JavaWeb基础
  • uni-app项目支付宝端Input不受控
  • 开启研究生学习阶段
  • 李航统计学习方法第二版 学习笔记
  • 如何拥有自己的一台永久免费云主机/云服务器
  • 发现一个新的资源论坛 - 小小程序员
  • 深入解析:Unity:XML笔记(二)——Xml序列化、反序列化、IXmlSerializable接口
  • C# Avalonia 13- MoreDrawing - CustomPixelShader
  • 使用标签Tag控制蒙太奇的触发时机-playmontageAndWait-Send GameplayEvent-WaitGameplayEvent
  • GAS_Aura-Spawn FireBolt from Event