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