您的当前位置:首页>全部文章>文章详情

TP6 服务器响应500时没有错误信息的解决方案

发表于:2023-05-29 22:37:10浏览:427次TAG: #ThinkPHP

\vendor\topthink\framework\src\think\response\Json.php 50行有问题,
于是打印了一下显示$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;
    }

图片alt

第179行改成

'Server/Request Data' => $this->changeToUtf8($this->app->request->server()),