![无法在多站点开发服务器上通过 dbgpProxy 使用 Xdebug 启动断点](https://linux22.com/image/948926/%E6%97%A0%E6%B3%95%E5%9C%A8%E5%A4%9A%E7%AB%99%E7%82%B9%E5%BC%80%E5%8F%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E9%80%9A%E8%BF%87%20dbgpProxy%20%E4%BD%BF%E7%94%A8%20Xdebug%20%E5%90%AF%E5%8A%A8%E6%96%AD%E7%82%B9.png)
我使用带有 PHP 7.4 的“开发人员”Apache 服务器来管理有多个开发人员的设置。
由于 Ubuntu 20.04 服务器在 AWS 的私有范围内运行,因此仅允许通过 VPN 服务器进行访问。VPN 服务器也是我们运行 dbgpProxy 的地方,因为它可以看到工作站和 Dev Apache 服务器。
我们的 AWS 实例设置为允许所有 9000-9010 流量从每个箱双向通过。
这是 /etc/php/7.4/apache2/conf.d/20-xdebug.ini
zend_extension=xdebug.so
xdebug.discover_client_host = yes
xdebug.mode = debug
xdebug.client_host = <<IP ADDRESS OF VPN SERVER>>
xdebug.client_port = 9003
xdebug.log = /var/tmp/php74-xdebug.log
xdebug.log_level = 5
xdebug.start_with_request = yes
我也尝试过不带 discover_client_host 行的上述操作,但没有帮助。
VPN 服务器上 dbgpProxy 的执行如下所示:
./dbgpProxy -i 0.0.0.0:9003 -s 0.0.0.0:9001
执行后,输出如下所示:
Xdebug DBGp proxy (0.4.2-dev)
Copyright 2020 by Derick Rethans
2022-09-14 19:26:53.893 [warn] [SSL] The 'certs/fullchain.pem' file could not be found, not enabling SSL listeners
2022-09-14 19:26:53.894 [info] [dbgpProxy] Proxy started
2022-09-14 19:26:53.894 [info] [server] Started client server on 0.0.0.0:9003
2022-09-14 19:26:53.894 [info] [server] Started server server on 0.0.0.0:9001
2022-09-14 19:26:59.516 [info] [server] Start new client connection from <<VPN IP ADDRESS>>:53841
2022-09-14 19:27:00.020 [info] [proxyinit] [MATT] Added connection for IDE Key '<<DEVIDKEY>>': <<VPN IP ADDRESS>>:9001
2022-09-14 19:27:00.020 [info] [server] Closing client connection from <<VPN IP ADDRESS>>:53841
2022-09-14 19:27:15.480 [info] [server] Start new client connection from <<APACHE BOX IP>>:42144
2022-09-14 19:27:15.480 [warn] [server] Handler response error: Error reading command: Don't understand command '[494]'
2022-09-14 19:27:15.480 [info] [server] Closing client connection from <<APACHE BOX IP>>:42144
我已经测试了很长时间的小改动,但还是没有找到解决方案。我也尝试在 Google 中检查这些 Handler 响应错误,但没有找到有关此问题的其他帖子和任何信息。有人能帮我吗?谢谢!