php - 动态创建多个 codeigniter 应用程序,每个应用程序都有自己的子域和数据库,但代码库相同

标签 php mysql apache codeigniter

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

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

如何实现这种功能?

最佳答案

我假设你的结构是这样的?

/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代表子域名

关于php - 动态创建多个 codeigniter 应用程序,每个应用程序都有自己的子域和数据库,但代码库相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22971491/

相关文章:

php - Laravel RouteServiceProvider 中的显式路由模型绑定(bind)问题

php - 为我网站的所有用户创建个人 URL

MySQL - 按空值分组

MySQL Fabric添加组报告用户(fabric)没有适当的权限,当用户有权限时

PHP 表单无法通过 GET 和 POST 方法传递少量值

apache - 在从 Apache 调用的 PHP-FPM 中设置正确的 REMOTE_ADDR

php - 大型 PHP 应用程序的依赖关系图

php - 使用不同的 MySQL 服务器安装 WordPress

html - 在发送到 sql 服务器之前从 html 输入元素中提取值

java - 自动终止长时间运行的查询(MySql),Apache Tomcat 数据源