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来减少垃圾评论。了解我们如何处理您的评论数据