带子域的 Laravel 多站点设置

Imr*_*Ali 3 php laravel multisite

我想构建 Laravel CMS 并满足以下要求:

  1. 管理员(管理所有站点/数据库)。
  2. 多个站点(在子域上运行,管理自己的数据库),每个站点都具有 API 访问权限。
  3. 相同的代码库(如果需要可以复制)。
  4. 每个站点具有不同数据的同一数据库。

你能让我知道如何使用 Laravel 5.4 设置这个环境吗?

谢谢。

Imr*_*Ali 8

该项目现已完成。因此发布我自己的问题解决方案。

需要注意以下几点:

  • 我使用过 Laravel 5.4(后来升级到 5.5)。
  • 对于多租户,使用Laravel 的Landlord扩展。
  • 服务器配置为侦听通配符子域。
  • 每个站点都在子域上运行。
  • 使用单个数据库,每个数据库表下都有站点 ID(租户 ID)。

每当服务器收到请求时,子域就会与中间件中的租户 ID 相匹配,并仅加载该租户的所有记录。

我希望这对其他人有帮助。