postman调试php必须在url末尾添加?xdebug_session_start=phpstorm参数,且该值须与php.ini中xdebug.idekey严格一致;同时需在headers或cookies中手动添加xdebug_session=phpstorm,并确保phpstorm的server路径映射和dbgp proxy端口(xdebug 3默认9003)配置正确。

Postman 怎么传 XDEBUG_SESSION_START 参数
必须加在 URL 查询参数里,不是 header 也不是 body。比如请求地址是 http://localhost:8000/api/user,就得改成 http://localhost:8000/api/user?XDEBUG_SESSION_START=PHPSTORM。
注意:XDEBUG_SESSION_START 的值不一定要写死为 PHPSTORM,但必须和 php.ini 里的 xdebug.idekey 完全一致;如果改过 IDE Key(比如设成 myide),这里也得同步改成 ?XDEBUG_SESSION_START=myide。
- 不加这个参数,Xdebug 根本不会尝试连接 PhpStorm
- 参数名大小写敏感,
XDEBUG_SESSION_START不能写成xdebug_session_start或XDEBUG_START - 某些旧版 Xdebug(2.x)只认这个参数;Xdebug 3.x 虽支持
xdebug.start_with_request=yes自动启动,但 Postman 场景下仍建议显式传参,避免因配置遗漏失效
Postman 的 Cookie 设置为什么不能少
仅加 URL 参数还不够。Xdebug 3.1+ 默认要求同时携带 XDEBUG_SESSION Cookie,否则会拒绝调试连接。你得在 Postman 的 “Headers” 或 “Cookies” 面板里手动添加:
XDEBUG_SESSION=PHPSTORM
- 这个 Cookie 值也必须和
php.ini中的xdebug.idekey严格一致 - Postman 的 Cookies 面板默认不显示,需点右上角「Cookies」→「Manage Cookies」→ 手动 Add,Domain 填
localhost(或你的实际域名),Path 填/ - 如果用的是 Postman Interceptor 插件,它可能自动注入 Cookie,但不可靠——建议始终手动确认已存在该 Cookie
PhpStorm 的 DBGp Proxy 和 Server 配置关键点
很多人断点不触发,问题出在 PhpStorm 的服务映射没对上。重点检查两处:
「Languages & Frameworks → PHP → Servers」里必须有一条匹配你请求域名的记录,比如 Host 填 localhost,Port 填 8000(和你实际 Web 服务端口一致),并且勾选「Use path mappings」,然后把项目根目录映射到服务器上的绝对路径(例如 /var/www/html → /Users/you/project)。
「Languages & Frameworks → PHP → Debug → DBGp Proxy」中,IDE Key 必须填 PHPSTORM(或你自定义的 idekey),Host 填 127.0.0.1,Port 填 9003(Xdebug 3 默认端口;若用 Xdebug 2,则填 9000)。
- Server 配置缺失或路径映射错误,会导致断点命中但变量为空、无法 step into
- DBGp Proxy 的 IDE Key 和
php.ini不一致,PhpStorm 根本收不到连接请求 - 端口不匹配是高频错误:Xdebug 2 默认
9000,Xdebug 3 默认9003,务必核对phpinfo()输出中的xdebug.client_port
为什么断点有时“看起来进了但变量全空”
常见于 Docker 环境或远程 PHP 进程,本质是路径映射错位。Xdebug 报告的文件路径(比如 /var/www/app/index.php)和 PhpStorm 本地打开的文件路径(比如 /Users/you/project/index.php)不一致,导致调试器找不到对应源码行。
解决方法只有手动校准「path mappings」:在 Server 配置里点击右边「…」按钮,确保左边远程路径和右边本地路径一一对应,且结尾都带斜杠。
- 不要依赖自动映射,尤其在 Docker 或 WSL 下几乎必错
- 如果用了 symlink,PhpStorm 可能识别为不同路径,建议用真实路径配置
- 开启
xdebug.log(如xdebug.log=/tmp/xdebug.log)可查日志里是否有Remote address not found或Could not connect to debugging client类报错
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











