【发布时间】:2020-06-19 08:34:19
【问题描述】:
对于使用 docker-compose 的 Laravel 应用程序,我有以下(简化的)文件夹结构:
Project
|
|-- data
|-- ...
|-- docker
|-- ...
|-- laravel
|-- app
|-- ...
|-- .env
|-- docker-compose.yml
|-- .env
Docker-compose 设置为在构建容器时从项目根文件夹中的.env 文件加载数据库连接详细信息。 Laravel 也需要这些,我必须将它们复制到 laravel 文件夹内的 .env 文件中。
我想避免这种重复。理想情况下,我会在 Laravel 中加载两个 .env 文件,以避免将 docker-compose .env 与仅与 Laravel 相关的东西弄得一团糟。但是如果有一种干净的方法可以做到这一点,我几乎会很高兴在项目根目录中拥有一个 .env 文件。
我在Illuminate\Foundation\Application 中没有找到配置设置,但没有找到相关方法loadEnvironmentFrom() 和useEnvironmentPath(),但我不知道从哪里调用它们。我会扩展应用程序,但似乎 Dotenv 在 /boostrap/app.php 中实例化时已经加载了
希望在供应商 dolder 之外的某个地方,我可以及时更改路径或加载不同的 .env 文件,以便配置文件使用它。非常感谢您的帮助
【问题讨论】:
标签: php docker configuration laravel-6 dotenv