我试图找出为什么我的env()
助手总会回来null
。这会引起麻烦,尤其是在app.php
文件,在哪里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
当然,我正在使用env
像这样的助手:env('APP_ENV')
但仍然没有成功。奇怪的是,$_ENV
php 变量包含来自的每个变量.env
file.
从 Laravel 5.2 开始,env(...)
缓存配置后,该功能将无法使用。
The Laravel 文档 says
如果您正在使用config:cache
在部署期间,您必须确保仅调用env
从您的配置文件中运行,而不是从应用程序中的其他任何地方运行。
所以正确的答案是
如果您从应用程序内调用 env,强烈建议您将正确的配置值添加到配置文件中,并从该位置调用 env,从而允许您将 env 调用转换为配置调用。
我引用了同一个文档
为了快速修复,可以这样做:
php artisan config:clear
但一旦配置被缓存,它就会再次失败,就像生产环境中的情况一样。
现在应该清楚为什么当你尝试时config:cache
,它没有帮助,即使它在缓存之前清除了配置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)