【问题标题】:Creating a multi tenant application using Symfony2使用 Symfony2 创建多租户应用程序
【发布时间】:2012-05-22 08:31:18
【问题描述】:

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

有人知道如何根据应用程序所通过的域来选择要连接的数据库吗?例如。 company1.domain.com => db1, company2.domain.com => db2

我找到了可能有帮助的插件,例如 sfMultiTenantPlugin,但似乎都有缺点。

我只需要 parameters.ini 文件根据域具有不同的 database_name 值。

【问题讨论】:

  • 我想我可能已经找到了解决方案。 symfony.com/doc/current/cookbook/configuration/… 。这使用 apache 虚拟主机设置来传递数据库名称和密码。
  • 多数据库不是多租户数据库
  • sfMultiTenantPlugin 是 Symfony 1 而不是 Symfony2
  • @Apot:将密码存储在环境变量中绝不是一个好主意。就像 chmod 777 到您的 web(文档根)文件夹一样,是错误的。

标签: php symfony yaml multi-tenant


【解决方案1】:

也许是这样的? Here

然后使用开关分配您的连接变量。

case "company1.domain.com":
  $dbname = `db1`;
  etc.

(我没有使用 Symfony2 的经验,但听起来好像不在此范围内。我可能是错的。)
希望这会有所帮助。

【讨论】:

  • 这个例子正是我想要在纯 PHP 中做的,但 symfony 将数据库连接分成 YAML 文件和非脚本的 ini 文件。可能我可以使用此脚本选择要加载的 YAML 文件集。
  • 啊,我明白了。我没有处理过 Symfony2 或 YAML 文件,所以我无能为力。我会尝试像你说的那样加载文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-24
  • 2018-08-29
相关资源
最近更新 更多