首页 > 解决方案 > 有一个使用多个数据库的 codeigniter 站点配置?

问题描述

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

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

我希望它加载我在 public_html 中的 codeigniter 应用程序,但是如果子域是演示。然后它加载另一个数据库而不是主数据库

以下来自 config/database.php

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

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

希望这是有道理的

标签: phpcodeigniter

解决方案


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

aplication
  config
     site1
     site2

将配置目录的不同文件移动到该子目录

site1在 index.php 中,为一个站点和另一个站点设置 ENVIRONMENT 常量site2。要设置正确的错误报告,请将 site1 和 site2 添加到下面的 switch 运算符中,并具有所需的报告状态

define('ENVIRONMENT', 'site1');

switch (ENVIRONMENT)
{
    case 'development':
    case 'site1':
...

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


推荐阅读