当我升级到Laravel 5时,我开始使用env系统,我在根文件中将所有配置设置在此文件中。
.ENV
DB_HOST=x.x.x.x.x
DB_USERNAME
...
这个文件不是我的repo的一部分,当我部署时,我将相同的变量设置到我的系统环境变量上(在这里使用amazon beanstalk),因此可以访问它们而无需 .env 文件
所有这些都可以,但现在当我在生产中的脚本中使用命令行时,这些系统环境变量似乎无法在命令行中访问。但是,当通过Web服务器提供PHP时,它们是可访问的。
我发现如果我复制添加回这个.env文件然后它在命令行中运行但这就是为什么我感到困惑,我认为这个系统是为了防止将敏感信息提交给回购我似乎必须这样做才能在生产中使用我的php artisan migrate和其他命令。
我错过了什么吗?有没有办法在命令行中获取系统环境变量,或者我是否必须以某种方式在生产中动态创建.env文件?
答案 0 :(得分:2)
我一直认为.env文件只是设置服务器的一部分。 git会忽略.env文件,因此一旦设置完毕,您就可以推送/拉动内容,并且只保留.env文件。至少到目前为止我是如何做到的。