Laravel根据不同域名调用不同环境的配置文件
匿名 · 更新于 2019/8/12
第一步、复制.env文件,分别设置以下三个不同环境配置文件
.local.env 本地开发环境 设置 APP_ENV=local
.develop.env 线上测试环境 APP_ENV=develop
.production.env 线上生产环境 APP_ENV=production
第二步、修改Laravel项目下的文件bootstrap/app.php,在
$app = new Illuminate\Foundation\Application( $_ENV['APP_BASE_PATH'] ?? dirname(__DIR__) );
后边加入以下代码
//.env配置多环境 $app->loadEnvironmentFrom(call_user_func(function(){ $my_http_host = strtolower($_SERVER['HTTP_HOST']); switch ($my_http_host){ case 'www.abc.com': $myenv = 'production'; break; case 'test.abc.com': $myenv = 'develop'; break; default: $myenv = 'local'; break; } $myenv = '.' . $myenv . '.env'; return $myenv; }));
这样就完成了根据不同域名访问不同环境的设置,根据不同环境的配置,可分别设置不同环境对应的配置文件信息,如数据库连接等
