小编Het*_*iya的帖子

如何在单个 Laravel 应用程序中为多个域加载不同的 .env 文件?

我想通过多个域访问单个 Laravel 应用程序。

对于路由,我使用了 Laravel 路由模式,例如。

$appRoutes = function() {
     Route::group(['namespace'=>"Interface1"], function(){

     /** route for index page and User authentication pages **/
     Route::get('/', 'LoginController@showLoginForm')->name('login'); 
 });
};

Route::group(array('domain' => 'example1.com'), $appRoutes);
Route::group(array('domain' => 'example2.com'), $appRoutes);
Run Code Online (Sandbox Code Playgroud)

现在,对于每个域,我已经替换了 AppServiceProvider.php 注册方法中的配置变量值:

   if(isset($_SERVER['HTTP_HOST']) && !empty($_SERVER['HTTP_HOST']) ){ 
        if($_SERVER['HTTP_HOST']=='example1.com'){  
            $configArray = [
                'APP_NAME' => 'Application 1',
                'APP_URL'  =>  'http://example1.com', 
            ]; 
        }else{  
            $configArray = [
                'APP_NAME' => 'Application 2', 
                'APP_URL' =>  'http://example2.com, 
            ];  
        }  
        config($configArray);
    } 
Run Code Online (Sandbox Code Playgroud)

但我仍然没有使用正确的域名网址url(config('app.url'))

如何加载.env每个域的所有变量覆盖?

php laravel

5
推荐指数
2
解决办法
8446
查看次数

标签 统计

laravel ×1

php ×1