1. 程式人生 > 實用技巧 >TP6 伺服器響應500時沒有錯誤資訊的解決方案

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