各位大佬,遇到个奇怪的问题,一调用trans函数,response的Content-type就变成text/html了

1. 运行环境

1). 当前使用的 Laravel 版本?

Laravel Framework 8.83.23

2). 当前使用的 php/php-fpm 版本?

使用的是docker版本:
php:7.4.30-fpm

3). 当前系统

docker 里看是
Debian GNU/Linux 11

2. 问题描述?

目前是用docker搭了一套环境,出现了一个奇怪的问题,就是如果我调用trans获取翻译内容的话,返回的Content-Type就会变成text/html,不调用就没问题,一切正常。

下面是一段简短能复线问题的代码:

 $message="成功";      //没问题
 //$message=trans('message.success');   //headers被修改
 return response([
 'code'  =>  200,
 'status'  =>  'success',
 'message'  =>  $message,
 'data'  =>  new \stdClass,
 ])->header('Content-Type', "application/json")
 ->header('SP-HEAD', "application/json");

有问题的Response:

正常的Response:

现在不太清楚是哪里的问题,我在代码里加的header字段直接没有了。感觉像是headers整个被换掉了?
不知道从哪里开始查了,大神们有遇到过类似的问题吗?求给个思路!!!

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

这个问题,你需要查下你的翻译文件是不是有做输出处理,比如提前有输出header或者echo这些,因为提前有输出,所以框架就不再输出自定义的header数据了

2年前 评论
deatil (作者) 2年前
moon832849 (楼主) 2年前
讨论数量: 5

看上去根本没执行后代的代码,trans 报错了吧,,,

2年前 评论
moon832849 (楼主) 2年前

这个问题,你需要查下你的翻译文件是不是有做输出处理,比如提前有输出header或者echo这些,因为提前有输出,所以框架就不再输出自定义的header数据了

2年前 评论
deatil (作者) 2年前
moon832849 (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!