我想将默认的 .env 文件路径更改为另一个路径(用于生产)。
在基本 Laravel 应用程序中,我可以通过编辑 bootstrap/app.php 文件并添加
来完成此操作$app->useEnvironmentPath(...);
但是Lumen Application类实现不支持该方法
我通过
找到了公共文件夹路径编辑的解决方案$app->bind('path.public', function() {
return __DIR__;
});
在 public/index.php 中,但我找不到类似 path.env(ironment) 的东西。
请帮我解决这个问题
我们使用符号链接指向特定的 .env 文件。我们有 .env.prod、.env.test 文件和 .env 符号链接指向生产环境中的 .env.prod。我们找到了这种解决方案。
我很懒。没有在 Lument bootstrap/app.php 文件顶部看到下一行代码
Dotenv::load(__DIR__.'/../');
我们可以设置任何我们喜欢的 .env 文件位置
就我而言:
$env = null;
if(isset($_SERVER['HTTP_HOST']) && $_SERVER['HTTP_HOST'] == 'zenfy.co'){
$env = '.env.prod';
}
(new Dotenv\Dotenv(__DIR__.'/../', $env))->load();
P.s 在处理许多主机时可以是一个开关...
在 Lumen 9 中,环境加载在 bootstrap/app.php 中
(new Laravel\Lumen\Bootstrap\LoadEnvironmentVariables(
dirname(__DIR__) //<----
))->bootstrap();
您可以修改那里的路径,例如
dirname(__DIR__, 2)