Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 需要在不同的域中部署相同的Codeigniter代码,但使用不同的数据库_Mysql_Codeigniter - Fatal编程技术网

Mysql 需要在不同的域中部署相同的Codeigniter代码,但使用不同的数据库

Mysql 需要在不同的域中部署相同的Codeigniter代码,但使用不同的数据库,mysql,codeigniter,Mysql,Codeigniter,我在Codeigniter中有一个web应用程序。现在我想使用相同的代码并部署在100多个不同的域上 因此,我正在寻找一个解决方案,在这个解决方案中,我可以使用相同的代码(存储在主机上的某个地方)并将其与多个DB连接,这样每个新域都将有自己的数据库,但共享相同的代码 我需要它的原因:代码中所做的任何更新都将应用于所有拥有自己数据库的域。您必须在application/config下的config.php和database.php中进行一些小的更改 在config.php中 $protocol =

我在Codeigniter中有一个web应用程序。现在我想使用相同的代码并部署在100多个不同的域上

因此,我正在寻找一个解决方案,在这个解决方案中,我可以使用相同的代码(存储在主机上的某个地方)并将其与多个DB连接,这样每个新域都将有自己的数据库,但共享相同的代码


我需要它的原因:代码中所做的任何更新都将应用于所有拥有自己数据库的域。

您必须在application/config下的
config.php
database.php
中进行一些小的更改

在config.php中

$protocol = isset($_SERVER["HTTPS"]) ? 'https://' : 'http://';
$config['base_url'] =$protocol.$_SERVER['HTTP_HOST']."/";
在database.php中

$protocol = isset($_SERVER["HTTPS"]) ? 'https://' : 'http://';
$config['base_url'] =$protocol.$_SERVER['HTTP_HOST']."/";
将所有数据库连接放入条件语句中

if ($_SERVER['HTTP_HOST'] == 'server1.com') 
{
  $db['default']['hostname'] = 'localhost';
  $db['default']['username'] = 'root';
  $db['default']['password'] = '';
  $db['default']['database'] = 'database1';
}

//for development server
else if ($_SERVER['HTTP_HOST'] == 'server2.com') {
  $db['default']['hostname'] = 'localhost';
  $db['default']['username'] = 'root';
  $db['default']['password'] = '';
  $db['default']['database'] = 'database2';
}

除此之外,所有参数将保持不变。

将代码推送到Github,将application/config/config.php&application/config/database.php添加到.gitignore,并在服务器上使用git版本控制


如果您在代码中进行了更改,您可以在本地主机上进行更改,推送到git,然后使用git版本控制从服务器中拉取。(不要从服务器手动更新代码以防止git冲突)

这听起来像是一个简单的配置解决方案。只需像通常一样定义数据库配置,所有站点数据库都指向特定的sql server。然后每个“域”有不同的数据库名称。显然,每个域都需要一个不同的数据库配置文件,或者从另一个配置文件中引入一个动态数据库名称变量。codeigniter使用的是oophp。。这意味着你可以使用任何php。。您可以在配置文件中使用$\u服务器。。因此,在database.php文件中为所有默认或多个db添加条件..亲爱的,谢谢,这个解决方案对我来说似乎非常好。再问一件事。我只想再问一件事。如何重定向www.abc.domain.com以从www.main.domain.com加载代码。(使用与www.abc.domain.com相同的URL)您可以将域停放在一台服务器上。我不是很清楚,但你可以按照链接-