WAMPP搭配Xdebug3与VSCode调试无连接问题求助
确认VSCode launch.json的PHP路径匹配当前WAMPP版本
因为你用的是可切换版本的WAMPP,launch.json里的runtimeExecutable必须精准指向当前激活的PHP版本的exe文件,不能只依赖系统路径(系统路径里的版本可能和WAMPP当前运行的不一致)。比如:"runtimeExecutable": "D:/wampp/php/php8.2/php.exe"检查这个路径是否和WAMPP控制面板显示的当前PHP版本一致。
检查Xdebug的
xdebug.client_host配置
尽管默认是localhost,但部分环境下可能存在localhost解析问题,直接在php.ini里明确设置:xdebug.client_host=127.0.0.1设置后重启Apache,再看PHPInfo里的该项是否生效。
确保Xdebug的
xdebug.mode包含debug
打开PHPInfo,找到Xdebug的Mode项,必须包含debug。如果当前是develop或profile等其他值,修改php.ini:xdebug.mode=debug或者根据需要设为
develop,debug,重启Apache生效。验证Xdebug的
xdebug.start_with_request设置
如果需要自动触发调试,需在php.ini中设置:xdebug.start_with_request=yes要是仅手动触发(比如用浏览器插件),可以设为
trigger,但确保调试时已激活插件的调试状态。排查端口占用与VSCode监听配置
用Windows命令行执行netstat -ano | findstr :9003,检查9003端口是否被其他程序占用。如果占用,要么终止对应进程,要么同步修改Xdebug的xdebug.client_port和VSCode launch.json里的port为其他未占用端口(比如9004)。确认Apache已重启
切换PHP版本或修改php.ini后,必须重启WAMPP的Apache服务,否则新的配置不会加载,这是很多人容易忽略的点。
内容的提问来源于stack exchange,提问作者Michael Mueller

