2017-03-21 57 views
4

有没有人有env变量的问题?由于某种原因,帮助者env('VARIABLE')每次使用时都会返回null。它出乎意料地发生,我真的不知道原因。重新启动apache/IDE /计算机不起作用。Laravel没有阅读env变量

回答

7

该解决方案很简单,但IDE和调试器都没有提供任何相关信息。它只是返回null。当您使用php artisan config:cache,由于文档:

如果在部署过程中执行命令php artisan config:cache,你应该确保你只调用内您的配置文件从env()功能。

显然我有env变量在配置文件之外,所以在缓存之后我无法再使用它了。 php artisan config:clear使其恢复工作。

我发现更多关于env的用法,它应该在配置文件中使用只有。您可以使用其他帮助方法config()从项目的其余部分访问env变量。确保将其分配给配置文件中的另一个键,例如'key' => env('CACHE_DRIVER')

更重要的是,您必须记住每次运行php artisan config:cache时您将更改.env文件。 Laravel不会加载新值,直到它被缓存。如果它没有被缓存,则不需要这样做。

+2

'config:cache'运行'config:clear'第一个btw :-) – lagbox

+0

@lagbox,没错,修正了它 – wujt

1

运行这些命令

composer dump-autoload 
php artisan cache:clear 
php artisan config:clear 
php artisan view:clear 

现在尝试读取

$value = env('VARIABLE_NAME'); 

如果不是工作到现在的话,

尝试另一种语法阅读环境变量。

$value=getenv('VARIABLE_NAME');