如何调试VMware虚拟机访问站点时PhpStorm Xdebug断点不触发问题
虚拟机访问站点触发Xdebug断点调试问题解决
问题背景
- 运行环境:Ubuntu系统 + Nginx服务部署的PHP站点,示例域名为
test.com - 原有状态:本地PhpStorm配合Xdebug 2可正常进行断点调试
- 需求:在Windows 10 VMware虚拟机中发起站点访问请求时,也能触发PhpStorm断点调试
- 故障现象:虚拟机浏览器访问
test.com可正常打开站点,但Xdebug无法触发断点,PhpStorm不会在断点处停住
初始配置
/etc/hosts 配置
192.168.50.11 test.com
20-xdebug.ini 配置
[xdebug] zend_extension=xdebug xdebug.mode = debug xdebug.remote_enable = 1 xdebug.remote_host = 127.0.0.1 xdebug.remote_port = 9003 xdebug.start_with_request=yes xdebug.log="/var/log/nginx/xdebug.log" xdebug.idekey = PHPSTORM
已尝试的无效调试操作
尝试修改xdebug.remote_host参数解决问题,首先在Ubuntu宿主机执行ip address命令获取VMware虚拟网卡IP,输出片段如下:
3: vmnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000 link/ether 00:50:56:c0:00:01 brd ff:ff:ff:ff:ff:ff inet 172.16.162.1/24 brd 172.16.162.255 scope global vmnet1 valid_lft forever preferred_lft forever 4: vmnet8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000 link/ether 00:50:56:c0:00:08 brd ff:ff:ff:ff:ff:ff inet 192.168.212.1/24 brd 192.168.212.255 scope global vmnet8 valid_lft forever preferred_lft forever
先后将xdebug.remote_host设置为172.16.162.1和192.168.212.1,每次修改后都重启了PHP服务,同时尝试在PHPStorm的DBGp Proxy设置中填入对应IP,均未生效。
最终解决方案
将Xdebug升级到3版本后,虚拟机发起的请求即可正常触发断点调试。
内容的提问来源于stack exchange,提问作者qloq
相关产品推荐
相关产品推荐

