不能直接“调试交互”,只能分别调试前端运行环境和PHP后端逻辑,再靠网络请求链路串联验证;前端需在vite.config.ts或vue.config.js中显式配置proxy转发/api请求,后端需在php.ini中配置Xdebug 3.x参数并匹配PhpStorm的Debug端口与IDE key,浏览器须通过URL参数或Xdebug Helper插件触发调试会话。

不能直接“调试交互”,只能分别调试前端运行环境和 PHP 后端逻辑,再靠网络请求链路串联验证——因为浏览器里的 JS 和服务器上的 PHP 本质是两个独立进程,没有共享内存或执行上下文。
前端 dev server 怎么配代理转发 API 请求
Vite、Webpack Dev Server 默认不转发 /api/ 这类路径,fetch('/api/user') 发出去的仍是 http://localhost:3000/api/user,不是后端地址。必须显式配置代理规则,否则跨域或 404 是必然结果。
- Vite 项目:在
vite.config.ts中加server.proxy,例如:server: { proxy: { '/api': { target: 'http://localhost:4000', changeOrigin: true, secure: false } } } - Vue CLI 项目:在
vue.config.js中写devServer.proxy,格式类似,但 key 是字符串'/api' - 代理只在开发阶段生效;生产环境需 Nginx 或 CDN 配置真实反向代理,不能依赖前端配置
PHP 后端怎么启用 Xdebug 并让 PhpStorm 接收到请求
Xdebug 必须主动“拨号”连回 PhpStorm,而不是 PhpStorm 主动去连 PHP。所以两端配置必须匹配:PHP 端要指定 client_host 和 client_port,IDE 端得开着监听,且端口一致。
将一个或多个 UI 原型图、线框图、产品截图或设计稿转换为标准化、可直接交付的 PRD 风格文档,供产品、设计、前端和测试共同使用。适用于 Codex 需要分析 PC 网页、桌面端、移动端、响应式页面、独立弹窗、表单、表格、看板、数据大屏或多页面流程截图,还原页面结构与交互,强制套用固定文档模板,抽取跨页面共享规则,或把一组原型沉淀为单页规范文档加整体业务流程文档的场景。不适用于纯视觉审美点评、代码实现、接口设计、埋点方案、竞品分析或无 UI 输入的业务需求创作。
- 确认
php.ini里有(Xdebug 3.x):zend_extension = php_xdebug.dll xdebug.mode = debug xdebug.client_host = 127.0.0.1 xdebug.client_port = 9003 xdebug.start_with_request = yes
- PhpStorm 中:进入
Settings → PHP → Debug,把Debug port改成9003,勾选Can accept external connections - 务必重启 Web 服务(如 Apache/Nginx + PHP-FPM)或 PHP 内置服务器,否则新配置不生效
- 用
phpinfo()页面确认xdebug.status是enabled,且xdebug.mode包含debug
浏览器访问时如何触发 PHP 断点
光配好 Xdebug 不够,浏览器发请求时得带调试标识,Xdebug 才知道“这次要连 IDE”。靠 URL 参数或浏览器插件注入这个信号最可靠。
立即学习“PHP免费学习笔记(深入)”;
- 手动加参数:在地址栏 URL 末尾加上
?XDEBUG_SESSION_START=PHPSTORM,例如:http://localhost/login.php?XDEBUG_SESSION_START=PHPSTORM - 更省事:装官方
Xdebug Helper插件(Chrome/Firefox/Edge),点击插件图标 → 选择Debug,它会自动在所有请求头里塞 Cookie 或加参数 - PhpStorm 必须提前点顶部的电话图标
Start Listening for PHP Debug Connections,否则连接会被丢弃 - 断点只能打在 PHP 文件里(如
login.php、index.php),JS 里的console.log或debugger是另一套机制,不互通
前后端联调时最常卡住的三个点
不是代码写错了,而是通信链路上某个环节没对齐,导致请求发不出、收不到、或断点压根不进。
-
ERR_CONNECTION_REFUSED:前端代理 target 地址写错(比如写成localhost:8000但后端实际跑在:4000),或后端根本没启动 - 断点灰色不可用:PHP 文件路径映射没设对(
Settings → PHP → Servers里必须填好项目路径与 Web 根目录的对应关系),PhpStorm 找不到源码位置 - 调试连接一闪而过:Xdebug 版本和 PhpStorm 的 DBGp 协议支持不匹配(Xdebug 3.x 必须用 PhpStorm 2020.3+;旧版 PhpStorm 强制要求 Xdebug 2.x)
















