在 Windows 10 上使用 Laradock 时,Xdebug 无法使用 Visual studio 代码

Xdebug is not working with Visual studio code when using Laradock on Windows 10

我尝试在 windows 10 台机器上用可视化代码配置 Xdebug 和 Laradock。

我看到在使用 phpinfo(); 时启用了 Xdebug 我得到了这些值:

Xdebug Version      2.9.8
xdebug.remote_host  host.docker.internal
xdebug.remote_port  9000

我还在调试中的 Visual Code 中启用了这个配置:

    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9000,
            "log": true,
            "stopOnEntry":true,
            "pathMappings": {
                "/var/www": "${workspaceRoot}/public",
            },
            "ignore": [
                "**/vendor/**/*.php"
            ]
        }
    ]

我测试了使用此命令启动 telnet:telnet 192.168.1.10 9000 以查看我是否可以连接到调试会话。

当我启动浏览器时,要让 php-fpm 连接回我的可视代码会话,我错过了什么?我需要发送密钥还是应该只是启动浏览器?

关于更多调试的任何建议我都可以找到请求卡住的地方?有 xdebug 的日志吗?

像这样更新 laradock\php-fpm\xdebug.ini 和 laradock\workspace\xdebug.ini 后,我开始工作了:

xdebug.remote_host=host.docker.internal
xdebug.remote_connect_back=0
xdebug.remote_port=9000
xdebug.idekey=VSCODE

xdebug.remote_autostart=0
xdebug.remote_enable=0
xdebug.cli_color=0
xdebug.profiler_enable=0
xdebug.profiler_output_dir="~/xdebug/phpstorm/tmp/profiling"

xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.var_display_max_children=-1
xdebug.var_display_max_data=-1
xdebug.var_display_max_depth=-1

我也修改了 .vscode\launch.json 这样:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            //"type": "pwa-chrome",
            //"url": "http://127.0.0.1//posts/first",
            "port": 9000,
            "log": true,
            "stopOnEntry":false,
            "pathMappings": {
                "/var/www": "I:\dev\project-z",
            },
            "ignore": [
                "**/vendor/**/*.php"
            ]
        }
    ]
}

自从我在 "stopOnEntry":true" 上找到它后,我发现 pathMappings 设置不正确。是在抱怨 index.php was not found(这个故障是后来的,第一个故障)。我认为最初的错误是 "xdebug.remote_connect_back=0" 被设置为一个 1.

我还尝试激活自动午餐 chrome(就像它在 phpstorm 中工作一样),它启动 chrome 但由于某种原因它没有触发调试(不知道为什么) .我会对此进行更多调查。