php8+thinkphp6报错没有返回信息

排查错误

修改vendor/topthink/framework/src/think/App.php

php8+thinkphp6报错没有返回信息_第1张图片

注释掉然后看看是否为

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;
    }
  • 修改源码

php8+thinkphp6报错没有返回信息_第2张图片

你可能感兴趣的:(php,开发语言)