Laravel:对于多租户应用程序,将不同的环境文件用于不同的域

时间:2019-06-09 02:54:37

标签: php laravel laravel-5 laravel-5.7

我正在尝试创建多租户应用程序。

换句话说,我有一个网站,但是它有多个不同的版本,带有不同的品牌,env变量和数据库连接。这些网站是:

  • sites1.test
  • sites2.test

在Laravel中我想到的最简单的方法是拥有两个不同的环境文件:.env.site1.env.site2

这意味着对于工匠命令,我可以简单地做到:

  • artisan migrate --env=site1用于站点1命令
  • artisan migrate --env=site2用于站点2命令

我遇到的问题是HTTP请求。如何配置laravel,使其:

  • 在site1.test上使用.env.site1
  • 在网站上使用.env.site2。测试

我还认为缓存.env文件时可能会出现一些问题。

此外,还有一种更好的多租户方式。

1 个答案:

答案 0 :(得分:0)

假设您要拥有一个暂存环境和一个生产环境。因此,请创建一个.env.staging和一个.env.production,然后删除.env文件中除APP_ENV之外的所有行。将此密钥设置为暂存或生产:

APP_ENV=production

然后在.env.production中更改所需的任何行,然后转到.env.staging并进行满足您需求的不同更改。