【问题标题】:Dynamically create multiple codeigniter applications each with its own sub-domain and database but same code base动态创建多个 codeigniter 应用程序,每个应用程序都有自己的子域和数据库,但代码库相同
【发布时间】:2014-05-23 04:23:32
【问题描述】:

我在 codeigniter 中为客户开发了一种“销售点”类型的应用程序。此应用程序托管在某些域名上,例如www.example.com。该应用程序已全部完成并且运行良好。现在客户希望其他公司(比如他的公司)使用这个应用程序,但有他们自己的子域(例如 abc.example.com)和他们自己的数据库(将为每个公司克隆数据库结构),这些数据库将在运行时配置当公司将填写某种表格时。工作流程如下:

  1. 公司将通过填写特定表格向客户提出要使用我们的应用程序的请求。
  2. 当我们收到某个公司的请求后,我们想自动为其创建一个子域,复制我们的数据库并为该子域创建一个新数据库,并在 codeigniter 中进行适当的更改,以便它可以连接到新数据库。

我怎样才能实现这种功能?

【问题讨论】:

    标签: php mysql apache codeigniter


    【解决方案1】:

    我假设你的结构看起来像这样?

    /root/codeigniter
        /application
            /controllers
            /models
            /views
            /everything else
        system
            /CI system stuff
    
    /root/public_html
        /subd1.example.com/index.php
        /subd2.example.com/index.php
    

    如果是这样,那么只需将 index.php 文件指向 CodeIgniter 子目录

    index.php 中相应添加以下信息:

    define('DBNAME', 'subd1_db');
    define('DBUSER', 'subd1_username');
    define('DBPASS', 'subd1_password');
    

    现在在/application/config/database.php 你需要做的:

    $db['default']['hostname'] = DBNAME;
    $db['default']['username'] = DBUSER;
    $db['default']['password'] = DBPASS;
    

    subd代表子域

    【讨论】:

    • 应该将哪些 index.php 文件指向 Codeigniter 子目录以及如何指向它们?
    • 5 年了。@HarisurRehman 如果你找到了解决方案,请回答你的问题
    猜你喜欢
    • 2019-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    • 2022-09-24
    • 2011-05-30
    • 2015-12-14
    • 1970-01-01
    相关资源
    最近更新 更多