【发布时间】:2015-09-04 22:49:45
【问题描述】:
当我升级到 Laravel 5 时,我开始使用 env 系统,在该系统中,我将所有配置都设置在该文件的根目录中。
.env
DB_HOST=x.x.x.x.x
DB_USERNAME
...
这个文件不是我的 repo 的一部分,当我部署时,我将相同的变量设置到我的系统环境变量中(在此处使用 amazon beanstalk),因此无需 .env 文件即可访问它们.
所以一切正常,但现在当我在生产环境中的脚本中使用命令行时,这些系统环境变量似乎无法在命令行中访问。但是,当 PHP 通过 Web 服务器提供服务时,它们可以访问。
我发现如果我复制添加回这个 .env 文件,那么它可以在命令行中工作,但这就是我感到困惑的原因,我认为这个系统是为了防止将敏感信息提交到 repo,现在看来我必须这样做这样我就可以在生产中使用我的 php artisan migrate 和其他命令。
我错过了什么吗?有没有办法在命令行中获取可用的系统环境变量,还是我必须以某种方式在生产中动态创建该 .env 文件?
【问题讨论】:
标签: amazon-web-services laravel-5 amazon-elastic-beanstalk phpdotenv