无法使用安装了自定义 PHP 7.2 的 Vagrant 和使用 Firefox 的 VSCode

在我的项目中,我在运行 VM 的 Vagrant 上有以下 Xdebug 设置:


zend_extension=xdebug.so

xdebug.remote_host=10.0.2.2

debug.repomote_port=9000

xdebug.remote_enable=1

xdebug.max_nesting_level = 1000

xdebug.remote_log=/tmp/xdebug.log


在 VSCode 上,我是这样设置的:


{

    // 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": 9000,

            "pathMappings": {

                "/home/vagrant/code": "${workspaceRoot}",

            }

        }

    ]

}

xdebug 设置位于 vagrant vm 中,而 ide 位于主机上。主机 Ip ( 10.0.2.2) 是通过以下命令提供的:netstat -rn | grep "^0.0.0.0 " | cut -d " " -f10


然后我使用xdebug-helper以下设置在 Firefox 上启用调试:

http://img3.mukewang.com/61d14a140001fb1807080894.jpg

但是我的 IDE 无法在断点上停止执行。在调试它时,我打开了一个运行 Vagrant 的虚拟机的 shell 会话:

vagrant up && vagrant ssh

然后我使用命令使用 TCP 协议测试与它的反向连接到端口 9000(在启用 VSCode 以侦听 xdebug 之后):

nc -z -v 10.0.2.2 9000

命令本身显示消息:

Connection to 10.0.2.2 9000 port [tcp/*] succeeded!


此外,VSCode 实例也是一个 vscodium 构建,并具有felixfbecker.php-debug插件。你知道为什么 VSCodium 无法进入断点吗?


浮云间
浏览 120回答 1
1回答

慕姐4208626

代码真的被调用了吗?有时由于前端错误,尤其是在 ajax 调用事件上,您的代码甚至可能根本没有调用。因此,首先确保您的代码实际被调用,然后尝试确定它是否是 xdebug 问题。因此,正在执行从来宾到主机的 xdebug 连接。并且ip设置正确。因此,完全不调用具有断点的代码段是相当合理的,因此 IDE 不会中断到预期的断点。
打开App,查看更多内容
随时随地看视频慕课网APP