关于 Laravel/Homestead Vagrant 的问题 运行 XDebug 3.x

Problem Running XDebug 3.x on Laravel/Homestead Vagrant

我需要有关 Homestead 配置的帮助。 目前我是 运行 一个开发项目,使用 Laravel/Homestead 运行 VirtualBox Vagrant。 我安装了 PHP 8.0.2 和 Xdebug 3.0.2 和 ZendOpCache v 8.0.2 但不幸的是,我无法连接安装在 Windows 上的 VSCODE(IDE 和 Homestead 都安装在 Windows 上)

我的宅基地 IP 地址是 192.168.56.17 主机是 192.168.56.1

这是我的 XDebug 配置,我将 xdebug.ini 放在 /etc/php/8.0/cli/conf.d/20-xdebug.ini

zend_extension = xdebug.so
xdebug.mode = debug
xdebug.idekey = VSCODE
xdebug.max_nesting_level = 512
xdebug.start_with_request = yes
xdebug.client_port = 9003
xdebug.client_host = 192.168.56.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",
            "port": 9003,
            "stopOnEntry": false,
            "log": true,
            "pathMappings": {"/home/vagrant/code/project" : "${workspaceRoot}"}
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9003
        }
    ]
}

需要这方面的帮助

我会尝试将 xdebug.discover_client_host = no 添加到 xdebug.ini。无法在 windows 上测试,但在 linux.

上对我有用

也许添加 xdebug.log = "/tmp/xdebug.log" 也会有所帮助,这样您可以更好地了解那里发生的事情。

你的问题是

xdebug.start_with_request = yes

只需删除它,您的 Xdebug 就会正常工作

顺便说一句,删除后,像这样重启你的FPM

$ sudo service php7.4-fpm restart

并重新启动浏览器并 IDE