PHP Xdebug3 + VS Code 新版配置踩坑

  笔者最近有调试php代码的需求(由于技术太差静态分析看不出来x),网上安利Xdebug调试php,于是手痒也想配置一个。结果由于博客大多针对老版本Xdebug(大多是2),而新版本端口和配置改了许多,没法直接使用。后面看着文档和phpinfo手搓出一个配置,算是解决了。于是把踩坑过程记录下来,与读者分享。

介绍

Xdebug,是一个PHP插件,可用于单步调试/输出调试等,配合VS Code的插件,功能十分强大,可满足日常大多数环境需求。

插件功能包括:

  • 远程监听调试
  • 本地单文件调试
  • 本地浏览器调试

一般前两个功能使用较多,小脚本使用第二个功能,网站类代码推荐监听调试。

本教程基于Xdebug3,phpstudy中自带版本不匹配插件,建议不使用那个库

下载安装

Xdebug: Support — Tailored Installation Instructions

按照指引,将网站phpinfo完整复制到Wizard中。网站会为你推荐指定PHP版本、系统环境的Xdebug库。笔者是Windows系统,得到一个DLL文件。将其放入Wizard指示的目录中。

监听输出配置

php.ini中增加配置项

[XDebug]
; dll 文件名,如果没有放在指定ext目录中,需要配置完整路径
zend_extension=php_xdebug-3.1.5-7.3-vc15-nts-x86_64.dll;
; 必须开启
xdebug.remote_enable = 1;

xdebug.remote_autostart = 1;

xdebug.remote_handler=dbgp;
; xdebug 寻找的监听地址,Xdebug3 改名,原名称为 remote_host
xdebug.client_host="127.0.0.1";
; xdebug 需要寻找的监听端口
xdebug.client_port=9001;
; for debug
xdebug.collect_vars = On;
; for debug
xdebug.collect_return = On;
; for debug
xdebug.collect_params = On;
; debug mode select
xdebug.mode = debug;
; 本机调试必须开启,Xdebug3新增设置
xdebug.discover_client_host = On;

Attention: 此配置文件基于Xdebug3,与老版本不适配,许多配置项为新增配置,另一些经过改名

配置完成后,去phpinfo下查看插件状态,如果发生问题,也去该处 debug

在这里插入图片描述

如果较多在浏览器上debug,建议安装Xdebug Helper插件,方便切换调试模式

VS Code 插件配置

安装插件PHP Debug.

需要在VS Code全局设置中,增加两个配置,以开启本地单文件调试功能

{
"php.debug.executablePath": "YOUR_PHP_PATH\\php.exe",
    "php.validate.executablePath": "YOUR_PHP_PATH\\php.exe"
}

可在 Settings -> PHP Debug: Executable Path中转到该设置项。

随后添加调试配置(必做

在打开一个PHP文件的条件下,在调试栏选择 Edit in Launch.json。自动添加三个选项,如下所示(也可以另外手动添加三个(添加配置))

{
	"version": "0.2.0",
	"configurations": [
		
		{
			"name": "Listen for Xdebug",
			"type": "php",
			"request": "launch",
			"port": 9001
		},
		{
			"name": "Launch currently open script",
			"type": "php",
			"request": "launch",
			"program": "${file}",
			"cwd": "${fileDirname}",
			"port": 0,
			"runtimeArgs": [
				"-dxdebug.start_with_request=yes"
			],
			"env": {
				"XDEBUG_MODE": "debug,develop",
				"XDEBUG_CONFIG": "client_port=${port}"
			}
		},
		{
			"name": "Launch Built-in web server",
			"type": "php",
			"request": "launch",
			"runtimeArgs": [
				"-dxdebug.mode=debug",
				"-dxdebug.start_with_request=yes",
				"-S",
				"localhost:9001"
			],
			"program": "",
			"cwd": "${workspaceRoot}",
			"port": 9001,
			"serverReadyAction": {
				"pattern": "Development Server \\(http://localhost:([0-9]+)\\) started",
				"uriFormat": "http://localhost:%s",
				"action": "openExternally"
			}
		}
	]
}
  • Attention: Listen for Xdebug项的 port 属性,需要与php.ini配置文件中相同,一般这个需要手动修改,其余基本不需要修改

启动调试

在PHP文件处下断点,选择Listen for Xdebug,F5开始调试(进入监听状态)

浏览器访问对应文件,VS Code成功捕获断点

在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VS Code是一款轻量级的代码编辑器,可以通过配置来支持PHP开发环境。以下是配置VS CodePHP环境的步骤: 1. 安装VS Code:首先,你需要下载并安装VS Code编辑器,可以从官方网站(https://code.visualstudio.com/)下载适合你操作系统的版本。 2. 安装PHP扩展:在VS Code中,你需要安装PHP扩展以支持PHP开发。打开VS Code,点击左侧的扩展图标(或按下Ctrl+Shift+X),在搜索框中输入"PHP",然后选择并安装"PHP IntelliSense"扩展。 3. 安装PHP解释器:为了运行和调试PHP代码,你需要安装PHP解释器。你可以从PHP官方网站(https://www.php.net/downloads.php)下载适合你操作系统的PHP解释器,并按照官方文档进行安装。 4. 配置VS CodePHP路径:打开VS Code,点击左上角的"文件"菜单,选择"首选项",然后选择"设置"。在设置页面中,搜索"php.executablePath",然后将PHP解释器的路径配置到该选项中。 5. 配置调试器:在VS Code中,你可以使用Xdebug等调试器来调试PHP代码。首先,安装并配置Xdebug。然后,在VS Code中点击左侧的调试图标(或按下Ctrl+Shift+D),点击"创建一个启动配置文件",选择"PHP"。在生成的launch.json文件中,配置"program"为你要调试的PHP文件路径。 6. 运行和调试PHP代码:在VS Code中打开一个PHP文件,点击左侧的调试图标,选择你配置的启动配置,然后点击绿色的"运行"按钮。你可以在调试控制台中查看输出和调试信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值