thinkphp6遭遇500错误却没有任何报错解决办法

thinkphp6遭遇500错误却没有任何报错解决办法_第1张图片

此问题多数出现在windows开发环境下。

先说原因,电脑设置-环境变量-path  混入了中文路径。需要删除掉。

或者看第二种解决办法:

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

然后:

收集异常数据方法 convertExceptionToArray() ,修改
'Server/Request Data' => $this->changeToUtf8($this->app->request->server()),

最后:

thinkphp6遭遇500错误却没有任何报错解决办法_第2张图片

你可能感兴趣的:(php,thinkphp6)