TP6 服务器响应500时没有错误信息的解决方案
重点!!!!
首先,确认你的电脑管理员账户是否含有中文!!!!!!就像下面这种:所以出现了没有错误提示
查看nginx日志显示\vendor\topthink\framework\src\think\response\Json.php 50行有问题,于是打印了一下显示$data里面有编码问题
所以打印$data看到里面有斐波那妾几个字(话说斐波那妾有什么罪??)
于是,好吧,网上各种百度修改管理员名称。。。。终于成功了,刷新->还是一样,想了想可能win10 C盘“用户”那两个字不会也有问题吧?
算了,要从根本上解决问题!!
于是,处理一下$data再传过去不就完了
找到vendor/topthink/framework/src/think/exception/Handle.php
在最后加上下面这个方法
/** * 将获取的服务器信息中的中文编码转为utf-8 * @access protected * @param $data array * @return array 转化后的数组 */ protected function changeToUtf8(array $data): array { foreach ($data as $key => $value) { $data[$key] = mb_convert_encoding($value, "UTF-8","GBK, GBK2312"); } return $data; }
再调用一下
OK 解决了~