用PHP写轻量Mock服务,一个api.php文件即可:设Content-Type、处理GET/POST/JSON body、支持状态码与延迟、配虚拟域名api.dev、严格对齐真实接口数据结构。
前端
开发卡在接口没通、后端还没写完?直接用 PHP 写个轻量 Mock 服务,不装 Node、不配 Docker,改个
就能本地跑通。
用纯 PHP 文件快速返回 JSON 数据
最简方式:一个
文件搞定,适合单接口临时联调。
必须显式设置
,否则前端
可能解析失败
用
或
判断参数分支,比如
返回 500 模拟异常
别直接
就完事——要加
避免中文转义和 URL 斜杠被编码
如果前端发的是
body,得用
读原始数据,再
用 Apache/Nginx 虚拟域名统一入口
避免前端硬编码
,也防止跨域问题。
在系统
(macOS/Linux)或
(Windows)末尾加一行:
Apache 配置
指向你放
的目录;Nginx 则配
+
路径
前端代码里直接请求
,和最终上线域名一致,后期零改动
注意:HTTPS 会报证书错误,开发阶段用 HTTP 即可;若强制 HTTPS,需自签证书并信任,不推荐
按请求头或参数动态返回不同响应
光有固定 JSON 不够,真实联调要测 loading、空列表、权限不足、网络超时等场景。
PHP 8.5.5
PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载
立即学习
“
PHP免费学习笔记(深入)
”;
检查
头,比 GET 参数更干净,不污染 URL
用
主动设状态码,不能只靠 JSON 里
模拟延迟:加
(1 秒),验证前端 loading 状态是否正常触发
模拟 CORS:加
和
,但上线前务必删掉
Mock 数据结构必须与真实接口严格一致
这是最容易被忽略、却导致联调返工最多的一点。
后端字段名改一个下划线、多嵌一层
、时间戳格式从秒变毫秒,前端解析就崩。Mock 阶段就要对齐:
让后端提供一份 Swagger/OpenAPI 文档,或至少给个
的原始响应,直接复制粘贴进 PHP 数组
不要手写
,而要照抄真实返回里的
(大小写、驼峰、下划线)
数组键顺序不重要,但嵌套层级、
/
/
的类型必须一致——PHP
会自动处理,但初始化数组时别写错
hostsapi.phpContent-Type: application/jsonfetch$_GET$_POSTapi.php?status=errorecho json_encode($data)JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHESapplication/jsonfile_get_contents('php://input')json_decodelocalhost:8000/etc/hostsC:\Windows\System32\drivers\etc\hosts127.0.0.1 api.devapi.phpserver_name api.devroothttps://api.dev/user/list$_SERVER['HTTP_X_MOCK_STATUS']header('HTTP/1.1 401 Unauthorized')"code": 401usleep(1000000)header('Access-Control-Allow-Origin: *')Access-Control-Allow-Methodsdatacurl -X GET http://real-api/user'user_id' => 123'userId' => 123null""[]json_encode