不确定这是否是正确的处理方式,但想知道是否有人对如何实现这一目标有任何想法或建议。
我想创建一个名为demo.mysite.com的子域
,我希望它加载位于public_html中的codeigniter应用程序,但是如果子域是demo。然后它将加载另一个数据库,而不是主要数据库
以下内容来自config / database.php
$db['default']['username'] = "main";
$db['default']['password'] = "password!";
$db['default']['database'] = "mainsite";
我要这样做的原因是我仍然对网站进行更改,并且不想每次进行更改时都必须将整个网站复制到演示文件夹中。
希望这很有意义
答案 0 :(得分:1)
在配置目录中创建两个子目录
aplication
config
site1
site2
将配置目录的其他文件移动到该子目录
在index.php中,将一个站点的环境常量设置为site1
,将另一个站点的环境设置为site2
。要设置正确的错误报告,请将site1和site2添加到具有所需报告状态的下面的开关操作符
define('ENVIRONMENT', 'site1');
switch (ENVIRONMENT)
{
case 'development':
case 'site1':
...
CI从名为ENVIRONMENT的子目录中获取配置文件
答案 1 :(得分:0)
在配置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);
您将在文档here
中找到更多详细信息