You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调试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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 18:36:01