Laravel artisan 没有读取所有环境变量

Laravel artisan not reading all environment vars

我在 AWS Opsworks 服务器上安装了 Laravel 5.2 应用程序。 Web 浏览器界面完美运行。但是,当我尝试在命令行 (php artisan xxxxxxx) 运行 Artisan 命令时,我不断收到 mysql 连接错误 [2002]。所以我把范围缩小到环境变量。我们在 .env 文件中定义了 40 个变量。我首先在我的 artisan 脚本中添加了一些简单的 echo 语句来回显数据库连接变量。它只会回应数据库名称。主机、用户和通行证都是空白的。我想也许 laravel 只是很聪明,而不是为了安全而附和那些。所以我决定在 artisan 脚本中回显所有环境变量。其中只有 2 个会回声。其余为空白。为什么 laravel 的 artisan 无法读取 .env 中的大部分环境变量?

问题归结为 AWS 如何实施数据库连接变量。当 AWS 部署时,它将该信息放入 apache 配置中。但是,由于 CLI 的性质,图中没有 Apache。因此,我们必须创建一个最后运行的厨师食谱,并从 apache 配置中获取新编写的环境变量并创建 .env 文件。它相当多余,但现在似乎工作正常。