You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Visual Studio Code中调试PHP代码?

VS Code Xdebug PHP逐行调试配置教程

前置检查

首先确认两个必备组件已安装:

  • PHP环境已正确安装Xdebug扩展
  • VS Code已安装PHP Debug扩展(由Xdebug官方提供)

步骤1:配置PHP端Xdebug参数

找到当前PHP环境对应的php.ini配置文件,在文件末尾追加以下配置:

[XDebug]
zend_extension = "替换为你本地xdebug.so/xdebug.dll的绝对路径"
xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9003
xdebug.idekey = VSCODE

配置保存后重启PHP服务(PHP-FPM、Apache或Nginx对应服务),新建包含<?php phpinfo(); ?>的PHP文件访问,搜索Xdebug字段确认配置已生效。

步骤2:配置VS Code调试配置文件

  • 打开你需要调试的PHP项目的根文件夹(不要单独打开单个PHP文件,否则断点会失效)
  • 按下快捷键Ctrl+Shift+D(Mac系统为Command+Shift+D)打开调试面板
  • 点击面板顶部的「创建launch.json文件」选项,在弹出的环境选择列表中选中PHP,会自动生成默认调试配置
  • 打开生成的.vscode/launch.json文件,确认配置中的port参数值和php.ini中设置的xdebug.client_port一致,默认值为9003,如有修改需同步更新

步骤3:执行逐行调试

  • 打开你需要调试的PHP文件,点击目标代码行号的左侧位置,会出现红色圆点标识,即为设置成功的断点
  • 回到调试面板,点击左上角的绿色三角启动调试按钮,编辑器顶部会出现调试控制工具栏
  • 正常访问对应的PHP页面/执行PHP脚本,代码运行到断点位置时会自动暂停
  • 调试工具栏核心功能说明:
    • 继续执行:直接运行到下一个断点位置
    • 单步跳过:逐行执行代码,遇到函数时不会进入函数内部
    • 单步进入:逐行执行代码,遇到函数时会进入函数内部继续逐行运行
    • 单步跳出:从当前进入的函数内部跳回调用位置
  • 调试过程中可在左侧面板查看当前所有变量的实时值,也可自定义添加需要监控的变量

常见异常排查

  • 断点无法触发:优先检查php.ini中xdebug.mode是否为debug,两端端口配置是否一致,是否正确打开项目根目录
  • 调试无响应:检查本地防火墙是否拦截了Xdebug使用的端口,是否有其他程序占用了对应端口

内容的提问来源于stack exchange,提问作者userDuR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 11:48:03