Thinkphp6响应报错500没有错误信息

当使用Thinkphp6开发时遇到500错误且无错误信息显示,可能是由于编码问题导致。通过修改Handle.php文件,在文件末尾添加一个将中文转为UTF-8编码的方法,并在特定行调用此方法转换Server/RequestData的编码,可以解决这个问题。重新加载页面后,错误信息应能正常显示,便于调试。
摘要由CSDN通过智能技术生成

有时候再有Thinkphp6做开发的时候,会遇到系统报500的错误,但是页面却没有任何错误信息,这是因为错误信息的字符编码出现问题而无法返回造成的,我们只需要强制转换一下exception的编码就可以了。

一、找到文件

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;
}

三、在文件中搜索如下数据,大约179行的位置

Server/Request Data

四、当前行修改为如下

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

五、重新刷新页面试一下,发现又可以愉快的玩儿BUG了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花生²

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值