排查错误
修改vendor/topthink/framework/src/think/App.php
注释掉然后看看是否为
vendor/topthink/framework/src/think/response/Json.php 50行
json转换时候编码报错
需要修改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) {
//mb_convert_encoding第一个参数只能接受array|string需要先转换否则float等类型会报错
if (!is_array($value)&&!is_string($value)){
$value = strval($value);
}
$data[$key] = mb_convert_encoding($value, "UTF-8","ASCII,UTF-8,GBK");
}
return $data;
}
- 修改源码