php – Laravel – 自定义.env文件

Laravel假定.env文件应描述环境,并且不应该将其提交给您的repo.

如果我想在我的存储库中保留开发和生产的两个.env文件(例如.env-production和.env-dev)并添加一些应该使用哪个文件的自定义逻辑,例如基于当前域名,该怎么办?

就像是

if ($_SERVER['HTTP_HOST'] == 'prod.domain.com') {
    load('.env-production');
} else {
    load('.env-dev');
}

我怎样才能实现它?
谢谢!

最佳答案
将Dotenv :: load()用于自定义.env文件

laravel 5.1 with vlucas / phpdotenv~1.0

if ($_SERVER['HTTP_HOST'] == 'prod.domain.com') {
    Dotenv::load(__DIR__ . '/../','.production.env');
} else {
    Dotenv::load(__DIR__ . '/../','.dev.env');
}

要么

laravel 5.2 with vlucas / phpdotenv~2.0

$dotenv = new Dotenv\Dotenv(__DIR__, 'myconfig'); // Laravel 5.2
$dotenv->load();

PHP dotenv

在bootstrap / app.php中

转载注明原文:php – Laravel – 自定义.env文件 - 代码日志