假设我有两个微服务在两个不同的 Docker 容器中运行:ServiceA
和ServiceB
. ServiceA
发出一个 HTTP 请求ServiceB
,这个请求返回一个响应。如果可能的话,我希望能够在(PhpStorm 的实例)中启动我的调试会话,并在发送呼叫后将其ServiceA
切换到ServiceB
(PhpStorm 的实例),然后返回到ServiceA
. 需要明确的是,我将打开两个 PhpStorm 窗口:一个ServiceA
用于ServiceB
.
以下是我当前配置的一些注意事项:
- 服务A:PHP 7.4.x,Xdebug 3.0.4
- 服务 B:PHP 7.2.x,Xdebug 3.0.4
ServiceA
和的 Xdebug 设置相同ServiceB
:
zend_extension=xdebug.so
xdebug.mode=debug
xdebug.discover_client_host=true
根据File | Settings | PHP | Debug
PhpStorm 中的配置,它们如下所示,对于 and 是相同ServiceA
的ServiceB
:
由于ServiceB
应该正在侦听传入连接,因此那个绿色的小虫子工具栏看起来像这样:
我有什么问题?
- 我能够开始调试会话,
ServiceA
但它永远不会切换到ServiceB
,会话正确完成。 - 以下“警告”垃圾邮件我的
stdout
日志ServiceB
:
Xdebug:[Step Debug] 无法连接到调试客户端。已尝试:172.18.0.9:9003(来自 REMOTE_ADDR HTTP 标头),localhost:9003(通过 xdebug.client_host/xdebug.client_port 回退)
我可能在这里遗漏了什么?
注意:如果需要更多信息,请询问我,我会添加