找回密码
 立即注册
首页 业界区 安全 Xdebug安装与PhpStorm调试配置

Xdebug安装与PhpStorm调试配置

纪音悦 2025-10-1 17:25:47
一、Xdebug 介绍

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

  • 单步调试:在脚本执行时于集成开发环境(IDE)或编辑器中逐行调试代码的一种方式。


  • PHP 错误报告的改进:改进的 var_dump() 函数,针对提示、警告、错误和异常提供堆栈跟踪,以突出显示导致错误的代码路径。


  • 跟踪:将每个函数调用(包括参数和调用位置)写入磁盘。还包括每个函数中的变量赋值和返回值。资料收集借助可视化工具,让您能够分析 PHP 应用程序的性能并找出瓶颈。


  • 代码覆盖率分析:用于展示在使用 PHPUnit 运行单元测试时,您的代码库中哪些部分被执行。
 
二、安装 Xdebug

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

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

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

 
4、在对应PHP版本的 php.ini 文件底部添加以下配置内容:
  1. [xdebug]
  2. xdebug.idekey="PHPSTORM"
  3. zend_extension="自己php的目录\ext\php_xdebug.dll"
  4. xdebug.mode=debug
  5. xdebug.client_host=127.0.0.1
  6. xdebug.client_port=9111
  7. xdebug.log="自己的日志目录\tmp\xdebug.log"
  8. xdebug.start_with_request=yes
复制代码
 
三、配置 PhpStorm 使用 Xdebug

1、打开phpstorm -> fiel -> settings
4.png

 
 
2、选择 PHP 后如下图操作
5.png

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

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

 
5、配置 IDE key,如下图:
8.png

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

 
四、开始调试

1、调试方法:

  • 启动监听
    在 PhpStorm 的右上角,点击电话图标 
10.png
(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 会变为调试视图,你可以:

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

 
2、主要快捷键:
快捷键名称作用
12.png
(F8)
Step Over单步跳过。执行当前行代码,如果该行调用了函数或方法,不会进入其内部,而是将其作为一个整体执行完,然后跳到下一行。用于快速穿越你不关心的函数。
13.png
(F7)
Step Into单步进入。执行当前行代码,如果该行有函数或方法调用,会进入该函数或方法的内部。这是分析逻辑细节最常用的操作。Alt+Shift+F7Force Step Into强制单步进入。即使是被调用的函数是 PHP 内置函数(如 array_map)或者 Composer 依赖库中的函数,也会强制进入。普通 Step Into 会跳过这些。
14.png
(Shift+F8)
Step Out单步跳出。当你进入一个函数内部后,使用此操作会直接执行完当前函数的剩余所有代码,并返回到调用这个函数的位置。当你误入一个复杂函数或快速看完核心逻辑后想离开时非常有用。
15.png
(Alt+F9)
Run to Cursor运行到光标处。让代码一直执行,直到到达你光标所在的那一行。这比设置多个断点再依次跳过更高效。F9Resume Program恢复程序。让代码继续正常运行,直到遇到下一个断点或脚本结束。
16.png
(Ctrl+F2)
Stop停止。终止当前的调试会话。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册