没有不值得去解决的问题,也没有不值得去学习的技术!

在 Windows 10 64、Yii 2 下,RESTful 接口响应 JSON 格式,CakePHP做为 http 客户端,再次转发响应数据至浏览器,浏览器端无法解析的解决

在浏览器中复制响应的数据存储至txt文档中,然后在 Windwos PoserShell 中查看,发现确定是存在 bom 头的

1、初步怀疑是因为 bom 头导致的问题,在 EditPlus 中另存为编码:UTF-8 + BOM,如图1

初步怀疑是因为 bom 头导致的问题,在 EditPlus 中另存为编码:UTF-8 + BOM
图1

2、执行 Git 提交,差异:文本是相同的,但文件不匹配。发现下列差异:编码方式(ASCII, UTF-8 BOM),如图2

执行 Git 提交,差异:文本是相同的,但文件不匹配。发现下列差异:编码方式(ASCII, UTF-8 BOM)
图2

3、在 PhpStorm 选择项目,右键执行 Remove BOM,如图3

在 PhpStorm 选择项目,右键执行 Remove BOM
图3

4、执行 Git 提交,发现文件 bom 头已经去掉,无差异,Remove BOM 的执行效果符合预期,且确认程序文件中无 bom 头,如图4

执行 Git 提交,发现文件 bom 头已经去掉,无差异,Remove BOM 的执行效果符合预期,且确认程序文件中无 bom 头
图4

5、在浏览器中复制响应的数据存储至txt文档中,然后在 Windwos PoserShell 中查看,发现确定是存在 bom 头的,如图5

在浏览器中复制响应的数据存储至txt文档中,然后在 Windwos PoserShell 中查看,发现确定是存在 bom 头的
图5

6、最终分析发现,原因在于 php http client(基于CakePHP) 的配置文件中,一个文件存在 bom 头,去掉 bom 头,浏览器上可以正常解析

 

PHP / Laravel / Yii2 老项目维护与长期技术支持

如果你的 PHP / Laravel / Yii2 项目已经上线,但遇到原开发离职、Bug 长期无人修复、接口不稳定、性能下降、代码难以接手等问题,可以联系我做一次远程技术排查。

适合以下情况:
✅ 老旧 PHP 系统无人维护
✅ Laravel / Yii2 项目 Bug 修复
✅ 后台管理系统小功能迭代
✅ RESTful API 接口排查
✅ MySQL / Redis / Nginx 性能问题
✅ 长期远程兼职维护

可先从一次小问题开始:
✅ 线上报错排查
✅ 接口异常分析
✅ 慢查询与性能瓶颈定位
✅ 代码结构初步评估
✅ 部署环境与日志检查

如需咨询,请联系我,并注明:PHP 维护咨询

联系方式:
Telegram:@shuijingwan
微信:13980074657
邮箱:shuijingwanwq@gmail.com

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理