有没有人遇到过env
个变量的问题?出于某种原因,帮助器env('VARIABLE')
每次使用时都会返回null
。它出乎意料地发生了,我真的不知道原因。重新启动apache / IDE /计算机不起作用。
答案 0 :(得分:14)
解决方案很简单,但IDE和调试器都没有说明它。它只返回null
。当您使用php artisan config:cache
时,根据文档:
如果在部署过程中执行
php artisan config:cache
命令,则应确保只从中配置文件中调用env()
函数。
显然我在配置文件之外有env
个变量,所以在缓存之后我再也无法在外面使用它了。 php artisan config:clear
将其重新投入使用。
我发现更多关于env
的使用情况,它应该在配置文件中使用 。您可以使用其他帮助方法env
从项目的其余部分访问config()
个变量。请务必将其分配给配置文件中的另一个密钥,例如'key' => env('CACHE_DRIVER')
此外,每次更改php artisan config:cache
文件时,您都必须记住运行.env
。 Laravel不会加载新值,直到它被缓存。如果没有缓存,则无需执行此操作。
答案 1 :(得分:6)
运行命令
composer dump-autoload
php artisan cache:clear
php artisan config:clear
php artisan view:clear
现在尝试阅读
$value = env('VARIABLE_NAME');
如果到现在为止不工作,
尝试另一种语法来阅读env变量。
$value=getenv('VARIABLE_NAME');
答案 2 :(得分:0)
就我而言,只是因为我正在使用php artisan serve
,只需重新启动它,服务器命令可能会读取env并保持在启动时。