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