Laravel 5 - env() 始终返回 null

我试图找出为什么我的助手总是回来。这会导致麻烦,尤其是在默认情况下广泛使用帮助程序的文件中。也许任何神秘的服务器设置?env()nullapp.phpenv()

我的 env 文件

APP_ENV=production
APP_KEY=base64:mymagickey=
APP_DEBUG=false
APP_LOG_LEVEL=info
APP_URL=http://www.example.com

etc...

编辑 - 我尝试了以下操作

php artisan cache:clear
php artisan view:clear
php artisan config:cache

当然,我正在使用这样的助手:envenv('APP_ENV')

但仍然没有成功。奇怪的是,php变量包含文件中的每个变量。$_ENV.env


答案 1

env(...)函数在缓存配置后将不起作用。(从 5.2 到现在的 5.7)

Laravel文档

如果在部署期间使用该命令,则必须确保仅从配置文件中调用函数,而不是从应用程序中的任何其他位置调用函数。config:cacheenv

所以正确的答案是

如果从应用程序内部调用 env,强烈建议您将正确的配置值添加到配置文件中,然后从该位置调用 env,从而允许您将 env 调用转换为配置调用。

我从同一文档中引用了它

但是对于快速修复,这将可以:

php artisan config:clear

现在应该清楚为什么,当你尝试时,它没有帮助,即使它在缓存之前清除了配置。config:cache


答案 2

希望此命令可以节省您

php 工匠配置:清除


推荐