使用vscode 如何使用xdebug3, php 安装在 虚拟机中的docker里

使用vscode 如何使用xdebug3, php 安装在 虚拟机中的docker里

  1. 本地使用 window 11
  2. 编辑器使用VScode
  3. 使用 VirtualBox搭建的虚拟环境
  4. 系统 ubuntu 22
  5. php环境使用的 docker 搭建(php 8.1)

请教各位大佬, 我如何配置能在vscode里边使用xdebug 调试代码

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案
1年前 评论
小宝爹 (楼主) 1年前
讨论数量: 8

我试过win + vscode + wsl + docker + xdebug 2/3 的配置, 试过 mac + vscode + docker + xdebug 2 的配置,但凡少一层我或许都能帮你点什么。

我的经验是通过插件 Dev Container 进到容器,然后配置 vscode.xdebug 扩展(无所谓具体哪个), 让xdubug能访问到vscode的端口,通了就好了。以我的例子(如下图)

file

我觉得目前看起来问题是在于如何让vscode 进入container

1年前 评论

你这个环境是真的离谱,耶稣来了都不敢这么玩儿。

win11 不妨直接在本地搭建一个lamp 或者phpstudy 之类的集成环境

1年前 评论

我用过和你一样的,你要设置vscode的xdebug调用,改为docker的映射端口。或者使用docker远程开发进入容器内调用

1年前 评论

在PHP运行环境中配置xdebug3

[xdebug]
xdebug.mode=debug 
xdebug.start_with_request=yes
xdebug.client_host=${Your_IDE_Host}
xdebug.client_port=${Your_IDE_Port}

在vscode中安装 PHP Debug 插件 配置调试文件 launch.json,配置示例 pathMappings 配置想将 运行环境的项目目录和编辑器目录建立映射关系

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for Xdebug",
            "type": "php",
            "request": "launch",
            "port": ${Your_IDE_Port},
            "pathMappings": {
                "/www/${workspaceRootFolderName}": "${workspaceFolder}"
            }
        }
    ]
}

可能存在的问题: ${Your_IDE_Host} 要保证在PHP运行环境能访问到vscode所有的主机,在你的这套环境里,因为docker没法和vscode主机直接通信,应该是要填写宿主机virtualbox的ip,然后将虚拟机的端口${Your_IDE_Port}映射到vscode主机上对应的端口上。

正常来说,就可以开始调试了

1年前 评论
1年前 评论
小宝爹 (楼主) 1年前

本地真没必要搞这些虚头巴脑的,直接搭个本地lamp

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!