不确定这是否是正确的做事方式,但想知道是否有人对如何实现这一点有一些想法或建议。
我想创建一个名为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);
您将在此处的文档中找到更多详细信息