如何在使用 PHPStorm 的虚拟机上正确配置 Xdebug 3?

问题描述 投票:0回答:1

我使用 Windows 11 作为主机,并使用 PuTTY 通过 SSH 访问位于 IP

192.168.160.186:22
的虚拟机。我的虚拟机设置了 Xdebug 3,我想将它与 PHPStorm 一起使用。尽管进行了配置,Xdebug 仍无法按预期工作。以下是我的设置的详细信息:

环境:

  • 主机操作系统:Windows 11
  • 访问方式:通过PuTTY SSH
  • 虚拟机IP:
    192.168.160.186
  • 虚拟机操作系统:Linux
  • PHP版本:8.2
  • Xdebug版本:3.3.2
  • IDE:PHPStorm
  • 连接:VPN 和代理(均已正确设置)

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调试信息:

  • 单步调试器:✔ 已启用
  • IDE 密钥:PHPSTORM

指令:

  • xdebug.client_host
    :127.0.0.1
  • xdebug.client_port
    :9003
  • xdebug.mode
    :调试
  • xdebug.start_with_request
    :是的
  • xdebug.log
    :/var/log/httpd/xdebug.log
  • xdebug.discover_client_host
    :关闭

尽管有这些设置,Xdebug 并未启动与 PHPStorm 的调试会话。我的配置中缺少什么?


采取的步骤:

  1. 通过检查 PHP 信息验证 Xdebug 已启用。
  2. 确保 PHPStorm 设置为侦听端口 9003 上的 Xdebug 连接。
  3. 检查 Xdebug 日志是否有任何错误(日志文件为空)。

问题:

  1. Xdebug 与 PHPStorm 配合使用是否需要任何额外配置?
  2. 考虑到我的设置,
    client_host
    discover_client_host
    设置是否存在问题?
  3. 还有其他建议来解决此问题吗?

感谢您的协助!


php linux debugging xdebug remote-debugging
1个回答
0
投票

考虑到我的设置,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
中创建很多细节。

© www.soinside.com 2019 - 2024. All rights reserved.