PhpStorm 无法与使用 nginx 和 PHP 8.3 在 Vagrant 框中运行的 Xdebug 3.3 一起使用
大家好!
实际上,我在让 PhpStorm 与我的 Vagrant 盒子一起工作时遇到了麻烦,我希望你能帮我指出正确的方向。
我正在为我的开发环境运行以下设置: 主机系统是一台 Windows 10 机器,运行带有 Debian Buster 64 的 Vagrant 盒子。在此客户端系统上运行 nginx 1.14.2 Web 服务器,以及 PHP 8.3.0 和 Xdebug 3.3。 在 Windows 主机系统上,我使用 PhpStorm 2023.3.1 作为 IDE。
我的
Vagrantfile
在 network
配置部分中看起来如下:
config.vm.network "private_network", ip: "192.168.33.20"
config.vm.network "forwarded_port", guest: 9003, host: 9003
所以客户端的IP设置为
192.168.33.20
并且我转发端口9003 - 至少这是我理解这个配置的方式;如果我错了,请纠正我。当我在 Debian VM 上检查 hostname -I
时,它也会告诉我这个 IP 地址。
我的 PHP 8.3.0 包含一个配置文件
20-xdebug.conf
,如下所示:
zend_extension="xdebug.so"
xdebug.mode=debug
xdebug.start_with_request=trigger
xdebug.remote_handler=dbgp
xdebug.client_host=192.168.33.20
xdebug.client_port=9003
xdebug.discover_client_host=true
xdebug.log="/var/log/xdebug-rrdb.log"
xdebug.log_level=0
xdebug.max_nesting_level=-1
xdebug.var_display_max_depth=-1
xdebug.var_display_max_children=-1
xdebug.var_display_max_data=-1
xdebug.idekey="PHPSTORM"
并导致
phpinfo
中所示的以下设置:
在 PhpStorm 上,我使用以下设置配置了服务器:
我的调试设置是这些:
当我现在开始监听调试连接,打开浏览器中的调试插件并重新加载页面时,PhpStorm 中几乎没有任何反应。我所有的断点都被忽略,也没有弹出窗口,告诉我调试器没有停止就冲过去了。也没有窗口要求我授予传入连接的权限。
我还尝试通过全局设置对话框在任何脚本的第一行中断,这也导致没有结果。
我做错了什么或者我错过了什么?
提前致谢。
我也尝试将
xdebug.client_host
更改为localhost
,但也不起作用。毁掉机器并从头开始设置也行不通。
我的 Windows 防火墙配置为允许从 PhpStorm 连接到专用和公共网络。
我有同样的错误,我不得不降级
pecl install xdebug-3.2.2