有一个使用多个数据库的codeigniter站点配置吗



不确定这是否是正确的做事方式,但想知道是否有人对如何实现这一点有一些想法或建议。

我想创建一个名为demo.mysite.com 的子域

我希望它加载我的codeigniter应用程序,它位于publichtml中,但是如果子域是demo的话。然后它加载另一个数据库,而不是主要的一个

以下内容来自config/database.php

$db['default']['username'] = "main";
$db['default']['password'] = "password!";
$db['default']['database'] = "mainsite";

我想这样做的原因是,我仍然对我的网站进行更改,不想每次更改时都把我的整个网站复制到演示文件夹中。

希望这是有意义的

在配置目录中创建两个子目录

aplication
config
site1
site2

将配置目录的引用文件移动到该子目录

在index.php中,将一个站点的ENVIRONMENT常量设置为site1,将另一个站点设置为site2。要设置正确的错误报告,请将站点1和站点2添加到下面的交换机操作员中,并具有所需的报告状态

define('ENVIRONMENT', 'site1');
switch (ENVIRONMENT)
{
case 'development':
case 'site1':
...

CI从名为Environmental 的子目录获取配置文件

在配置database.php中,您可以创建不同的数据库组,其中已经存在的是default组:

$db['default'] = array(
'dsn'   => '',
'hostname' => 'localhost',
'username' => '',
'password' => '',
'database' => '',
...

您可以使用任何名称创建另一个组:

$db['another_group'] = array(
'dsn'   => '',
'hostname' => 'localhost',
'username' => '',
'password' => '',
'database' => '',
...

然后,您可以使用连接到另一个数据库

$this->load->database('another_group', TRUE);

您将在此处的文档中找到更多详细信息

相关内容

  • 没有找到相关文章

最新更新