在本地环境中,laravel 5.8中的env值有时返回null

问题描述

我最近在项目的.env文件添加一个值。

HELLO_TOKEN = "ABCDEFGH"

我正在尝试从某个地方访问此值。

env('HELLO_TOKEN')

但是,有时它可以工作,但大多数情况下它返回null。我尝试了两种不同的方法,但徒劳无功。

审判1)如果我跑步, PHP artisan config:cache, 我的网站设计坏了。 即使我运行PHP artisan view:clear并强制重新加载,页面设计也不会改善。

试用2)如果我跑步,

PHP artisan config:cache,PHP artisan config:clear,PHP artisan cache:clear

我的网站设计还可以,但是在大多数情况下,获取env会返回null。

N:B:我正在使用laravel 5.8版并在Windows 10中工作。

解决方法

您不应在配置文件之外对env进行任何调用。使用config:cache缓存配置后,不会加载.env文件,因此对env的所有调用都将返回null。

”如果您在部署过程中执行config:cache命令,则应确保只从配置文件中调用env函数。一旦缓存了配置,{ {1}}文件将不会加载,对.env函数的所有调用都将返回env。”

Laravel 5.8 Docs - Configuration - Configuration Caching