我使用 Windows 11 作为主机,并使用 PuTTY 通过 SSH 访问位于 IP
192.168.160.186:22
的虚拟机。我的虚拟机设置了 Xdebug 3,我想将它与 PHPStorm 一起使用。尽管进行了配置,Xdebug 仍无法按预期工作。以下是我的设置的详细信息:
环境:
192.168.160.186
php.ini
中的Xdebug配置:
[Xdebug]
zend_extension=xdebug.so
xdebug.mode = debug
xdebug.remote_enable = On
xdebug.remote_autostart = 1
xdebug.client_host = 127.0.0.1
xdebug.remote_connect_back = 1
xdebug.start_with_request = yes
xdebug.log = "/var/log/httpd/xdebug.log"
xdebug.idekey = PHPSTORM
xdebug.discover_client_host = false
X调试信息:
指令:
xdebug.client_host
:127.0.0.1xdebug.client_port
:9003xdebug.mode
:调试xdebug.start_with_request
:是的xdebug.log
:/var/log/httpd/xdebug.logxdebug.discover_client_host
:关闭尽管有这些设置,Xdebug 并未启动与 PHPStorm 的调试会话。我的配置中缺少什么?
采取的步骤:
问题:
client_host
或 discover_client_host
设置是否存在问题?感谢您的协助!
考虑到我的设置,client_host 或 discovery_client_host 设置是否存在问题?
是的。 Xdebug 需要连接到托管 IDE 的计算机。这不会在
127.0.0.1
上,而是在以 192.168.160
开头的 IP 地址上 — 可能是 192.168.160.1
,网关。
查看是否可以在端口 9003 上从虚拟机远程登录到 IP
192.168.160.1
— 您可能无法获得有用的信息,但连接应该可以工作。
我认为在你的情况下,设置
xdebug.discover_client_host
也应该有效,因为它使用 Web 服务器请求的 HTTP 标头来查找自己的 IP 地址。
如果你想查看 Xdebug 实际上想要做什么,请在 php.ini 中设置
xdebug.log_level=11
,它将在 /var/log/httpd/xdebug.log
中创建很多细节。