Laravel blade 中 {{ config(‘app.name’, ‘APP’) }} 不生效的問題

最近遇到一個非常奇怪的問題,一個Laravel的小項目在開發過程中運行正常,部署到證書環境中,竟然運行出錯。

config(‘app.name’) 無法獲取站點名稱,blade模板的代碼如下:

<title>{{ config('app.name', 'APP') }}</title>

檢查配置環境沒有問題,修改 config/app.php 中的 name 可以正常,代碼如下:

<?php

//...
'name' => 'Hello App',

?>

使用env(‘APP_NAME’)方式會無法獲取站點名稱,代碼如下:

<?php

//...
'name' => env('APP_NAME', 'Hello App'),

?>

診斷問題出在 .env 的問題。檢查 .env 配置正常。

復制本地的正常的.env內容到服務器.env,服務器仍然錯誤。

復制服務器的.env內容到本地.env,本地正常。

這個奇怪的bug困擾了我很久,一直沒有解決,切換過PHP版本也沒有解決。

今天查看程序,注意了下 編輯的右下角,GB2312,終于破案了。

Laravel的配置文件,必須是UTF-8格式,這個操蛋的小細節竟然困擾了我幾個月。

改成UTF-8,一切正常!!

發表評論

電子郵件地址不會被公開。 必填項已用*標注

此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據