vscode使用xdebug3进行PHP调试

使用xdebug:

下载

Xdebug: Downloads

或在这里输入PHP的信息给出推荐的版本:Xdebug: Support — Tailored Installation Instructions

配置:

打开php.ini文件,在文件最后添加:(3.0的配置项有些改了)

[XDebug]
zend_extension = php_xdebug-3.0.2-7.4-vc15-nts-x86_64.dll

xdebug.output_dir="D:\Work\php\xdebug\output"
xdebug.start_with_request = trigger
xdebug.client_port = 9003
xdebug.mode = debug,coverage

 php_xdebug-3.0.2-7.4-vc15-nts-x86_64.dll文件放在php的ext目录下可以使用相对路径。

这里使用的端口号是默认的9003,如需改添加端口配置项:

xdebug.client_port = 9100(指的是调试工具的端口,XDebug将会往这个端口中发送调试消息。如:vscode的PHP Debug)

xdebug.start_with_request 指定xdebug的启动方式,可选值:

  1. yes 任何请求都启动。(这种方式对所有访问都会启动调试,浏览器直接访问的情况下会报:Xdebug: [Step Debug] Time-out connecting to debugging client。想要正常访问必须先启动调试工具,如:vscode的PHP Debug。)
    PHP启动后,只要有PHP运行都往客户端的端口发调试消息。建议使用trigger方式。
  2. trigger 请求中有参数(XDEBUG_SESSION)才启动,可以是get/post请求:http://a.com/?XDEBUG_SESSION=abc。参数值可以任意,除非设置了xdebug.trigger_value。参考:Xdebug 3.0 WSL2 和 VSCode - 有效的配置答案 - 爱码网
    用浏览器可以用这种方式启动监听,带了参数的请求才往客户端的端口发送调试消息。仅个别代码需要调试时建议使用这种。

参考:Xdebug: Documentation » Step Debugging

安装好vscode后,安装扩展:

添加配置:

注意:port = xdebug的默认端口是9003,如果需要改端口号,要与xdebug的配置相同(xdebug的端口号配置项:xdebug.client_port = 9100) 没有运行选项的,要先创建launch.json文件 

        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            //新版的xdebug3的默认端口是9003
            "port": 9003
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9003
        }

调试

调试方式有两种,脚本和web方式。

脚本方式:运行方式选择Launch currently open script

在要调试的文件中打上断点,按F5启动调试(或 运行->启动调试),进入调试状态。

web方式:选择运行方式:Listen for XDebug

进入代码文件所在目录,启动PHP的内置web服务器,运行命令:(端口号可以自定义,不影响调试)

php -S localhost:8001

 启动调试:(这时vscode还没有捕获断点)

打开浏览器,访问:http://localhost:8001/a.php

浏览器一直在转等输出,vscode进入调试状态。

参考:

vscode使用xdebug3调试PHP脚本_raoxiaoya的博客-CSDN博客

多版本配置

如果开发环境中有多个PHP版本,需要指定特定版本运行调试,则需要配置:

CLI方式调试

  1. vscode 启动调试:Listen for Xdebug
  2. 命令行运行命令:
    php -dxdebug.start_with_request=yes -dxdebug.client_port=9004 think test

    -dxdebug.client_port=9004 是xdebug客户端的端口(即vscode的调试器端口)

  3. 参考:php - Xdebug laravel artisan commands - Stack Overflow

您好!要在 VS Code 中使用 Xdebug 进行调试,需要完成以下步骤: 1. 首先,确保您已经在 PHP 环境中安装了 Xdebug。您可以通过编辑您的 `php.ini` 文件来启用 Xdebug。在 `php.ini` 文件中,找到并取消注释以下行(如果没有则添加): ``` zend_extension = xdebug.so ``` 2. 在 VS Code 中安装 PHP Debug 扩展。打开扩展面板(通过侧边栏的方块图标或者快捷键 `Ctrl+Shift+X`),搜索并安装 "PHP Debug" 扩展。 3. 在 VS Code 中创建一个调试配置文件 `launch.json`。点击 VS Code 左侧的调试图标(虫子图标),然后点击配置齿轮图标以打开 `launch.json` 文件。 4. 在 `launch.json` 文件中,选择 "PHP" 作为环境,并添加一个配置参数,如下所示: ```json { "version": "0.2.0", "configurations": [ { "name": "Listen for Xdebug", "type": "php", "request": "launch", "port": 9000, "log": true, "pathMappings": { "/path/to/your/project": "${workspaceFolder}" } } ] } ``` 请将 `/path/to/your/project` 替换为您实际的项目路径。 5. 启动 Xdebug 会话。在 VS Code 中点击调试面板左上角的绿色播放按钮,选择 "Listen for Xdebug" 配置。这将启动 Xdebug 的监听模式。 6. 设置断点。在您的代码中选择要设置断点的行,然后运行您的应用程序。当代码执行到断点时,调试器将会暂停执行并允许您逐步调试。 希望以上步骤能帮助您成功下载并配置 Xdebug 进行调试。如有其他问题,请随时提问!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值