假設有4個.env文件。分別為
.env.local
.env.dev
.env.test
.env.prd
方式一
第一步:bootstrap\app.php 加入代碼
$envs = ['local','dev','test','prd'];
$env = get_cfg_var('env');
if(empty($env) || !in_array($env, $envs)){
exit('no env files');
}
$env = '.env.'.$env;
$app->loadEnvironmentFrom($env);
第二步:php.ini文件中添加一行
env = local
方式二
假設不同環境域名分別為:
local-domain.com
dev-domain.com
test-domain.com
domain.com
bootstrap\app.php 加入代碼
if (!$app->runningInConsole()) {//HTTP形式
if (empty($_SERVER['HTTP_HOST'])) {
die('[error] no host');
}
$app_env = substr($_SERVER['HTTP_HOST'],0,strpos($_SERVER['HTTP_HOST'],'-'));
} else {//其它形式
$app_env = $app->detectEnvironment(function () {
return 'prd';
});
}
if (empty($app_env)) {
die('[error] no environment');
}
//寫入環境配置
//Dotenv::setEnvironmentVariable('APP_ENV', $app_env);
$app->loadEnvironmentFrom('.env.' . $app_env);
// ->useEnvironmentPath(base_path('env'));