【问题标题】:Laravel: Use different env files for different domains for multi-tenant appLaravel:为多租户应用程序的不同域使用不同的 env 文件
【发布时间】:2023-03-29 18:08:01
【问题描述】:

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

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

  • sites1.test
  • sites2.test

我能想到的在 Laravel 中执行此操作的最简单方法是拥有 2 个不同的 env 文件:.env.site1.env.site2

这意味着我可以简单地执行工匠命令:

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

我遇到的问题是 HTTP 请求。如何配置 laravel 以便它:

  • 在 site1.test 上使用 .env.site1
  • 在现场测试时使用.env.site2

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

另外,是否有更好的方法来进行多租户。

【问题讨论】:

标签: php laravel laravel-5 laravel-5.7


【解决方案1】:

假设您想要一个临时环境和一个生产环境。所以创建一个 .env.staging 和一个 .env.production 然后删除 .env 文件中除 APP_ENV 之外的所有行。将此键设置为暂存或生产:

APP_ENV=production

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

【讨论】:

  • 生产和登台只是一些例子。您可以将它们设置为任何您想要的。例如 .env.site1 和 .env.site2 ,然后将 .env 文件中的 APP_ENV 设置为这些环境之一。
  • 您也可以查看此链接 [link] (laravel.com/docs/5.8/configuration)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-28
  • 2018-06-17
  • 2012-05-11
  • 2021-04-04
  • 2020-06-29
  • 2019-11-12
  • 1970-01-01
相关资源
最近更新 更多