来自Linux的env值未由Laravel配置应用程序加载

时间:2018-02-14 18:30:42

标签: php laravel laravel-5.5

Some time ago I asked关于设置env设置以及如何正确使用它们。我很快就指出了一个类似的问题,我发现在整个代码中使用env(' KEY')确实是不好的做法。

所以现在我正在将我的env设置迁移到config / app.php。

但是,如果我使用Tinker,Laravel不会加载Linux的env变量。例如,如果我放置:

'test' => 'testing123',

在config / app.php

并做一个

sudo php artisan config:cache

并使用Tinker

  
    
      

配置(' app.test&#39);          => "是testing123"

    
  

所以这似乎有效。但是,如果我放置以下内容

'test' => env('DB_PORT'),

并做一个

sudo php artisan config:cache

用修补器测试:

  
    
      

配置(' app.test&#39);          =>空

    
  

但是当我在控制台中并使用时:

env|grep DB_PORT

我看到了DB_PORT键的正确值。我在AWS前端提供这些属性,然后将这些属性作为环境属性传递给应用程序。

任何人都知道为什么这些没有正确导入/加载?

1 个答案:

答案 0 :(得分:0)

php artisan config:清楚 或者你可以手动删除bootstrap / config.php,这毕竟是工匠所做的。

请参阅:vendor \ laravel \ framework \ src \ Illuminate \ Foundation \ Console \ ConfigClearCommand.php