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   解决了~

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM