【问题标题】:Cakephp share database configuration for multiple appsCakephp 为多个应用程序共享数据库配置
【发布时间】:2014-05-23 03:01:46
【问题描述】:

我有一个带有多个具有这种结构的应用程序的 CakePHP 安装:

/cake-1.3.10 /cake-2.3.0 /apps/app 1 /apps/app 2 /... /apps/app N /apps/_shared/Cake_v1/Component /apps/_shared/Cake_v1/Model /apps/_shared/Cake_v2/Component /apps/_shared/Cake_v2/Model

所以这里发生的情况是所有应用都获取 v1.3 或 v2.3 内核(取决于它们使用的框架版本)。此外,我还有一些所有应用程序共享的组件和模型。每个应用都会根据其版本从_shared 文件夹中加载这些内容。

直到这里一切都很好。

现在,我想对数据库配置做同样的事情。每个应用程序都有自己的/config/database.php 文件。我将如何着手使所有应用程序共享相同的database.php 文件?实际上我会有 2 个 database.php 文件,每个版本一个,因为它们是不同的(比如组件和模型)。但我不确定我到底需要改变什么来实现这一点。

【问题讨论】:

  • 是否可以只创建指向相应 database.php 文件的符号链接?
  • 好吧,我想我可以做这样的事情,听起来是个好主意。虽然如果可能的话,我更愿意以“cakephp”的方式来做,但如果我不能弄清楚你的听起来像是一个计划!

标签: cakephp cakephp-1.3 cakephp-2.3


【解决方案1】:

我没有看到有简单的 CakePHP 方法。您必须修改 /lib/Cake/Model/ConnectionManager.php 。在第 69 行的 2.3 版中有

include_once APP . 'Config' . DS . 'database.php';

我没有看到任何允许配置的代码。它看起来是硬编码的。

更优雅的方式是你像@Kai 提到的那样创建符号链接。然后,您可以升级 CakePHP,而无需记住您的小技巧。

【讨论】:

    猜你喜欢
    • 2019-12-07
    • 2020-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-14
    • 2012-11-21
    相关资源
    最近更新 更多