是否可以转发 Xdebug 连接?

Is it possible to forward Xdebug connections?

我想设置一种调试隧道。

设置:

  1. Linux 虚拟机上的远程网络服务器 运行
  2. 这台机器上有两个虚拟主机(H1、H2)
  3. 两个主机都有 Symfony 4 运行 作为 WebApi
  4. 我在 Windows 10 上本地使用 PhpStorm 作为 IDE
  5. H1 是一个 API
  6. 还有H2
  7. 双方都想通过 cURL 进行通信

如果我向 H1 或 H2 发出 Postman 请求,Xdebug 效果很好。

现在我想从 H1 向 H2 发送一个 cURL 请求,并想在 PhpStorm 中本地调试 H2 上的请求。

据我了解,Xdebug 将连接回 H1,因为请求来自那里。

我想要的是它在本地连接回我,而不是远程连接到 H1。

我描述的设置是否可行?:

CLI Command on H1 -> cURL Request to H2 -> Xdebug locally in PhpStorm

两个虚拟主机都使用 php7.2 和相同的 php.ini

非常感谢大家

谢谢@lazyone。

对我来说,正确的答案是禁用 connect_back 选项。

配置在这里

[xdebug]
zend_extension="/usr/local/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so"
xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_port = 9000
xdebug.remote_host = 192.168.56.1
xdebug.show_local_vars = 1

你最后的评论帮助我理解了它。

我不知道 xdebug 总是尝试连接到远程 ip,无论请求来自哪里。

在这种情况下,远程意味着:远离服务器视图,这是我的本地客户端。

现在可以了。非常感谢。