构建在codeigniter之上的PHP应用程序是否可以同时连接MySQL和mongoDB数据库?
我有一个内置于codeigniter的web应用程序,由托管。我使用一个普通的MySQL数据库来实现所有的数据持久化,现在我想在MySQL数据库之外使用一个mongodb数据库 我想使用mongodb作为作业队列,在我的工作人员和应用程序服务器之间持久化消息。我从本教程中得到了这样做的灵感:构建在codeigniter之上的PHP应用程序是否可以同时连接MySQL和mongoDB数据库?,php,mysql,codeigniter,mongodb,cloudcontrol,Php,Mysql,Codeigniter,Mongodb,Cloudcontrol,我有一个内置于codeigniter的web应用程序,由托管。我使用一个普通的MySQL数据库来实现所有的数据持久化,现在我想在MySQL数据库之外使用一个mongodb数据库 我想使用mongodb作为作业队列,在我的工作人员和应用程序服务器之间持久化消息。我从本教程中得到了这样做的灵感: 这是可能的(同时使用两种不同类型的数据库——有/没有破解codeigniter,我想是的) 要做到这一点有什么建议吗 ----编辑--- 我已将此库包括在我的CI项目中: 当我试图通过以下方式加载它:$t
$this->load->library('mongo_db')代码>
我遇到这样的情况:
我不知道如何让mysql和mongodb一起工作
----编辑---
不管我上面的问题是什么,我不正确地设置了配置文件并混淆了错误…是的,这是可能的,开箱即用
您需要在配置中定义两个组,一个用于mysql,另一个用于mongodb。然后,在应用程序中,可以按组名加载这些数据库
在confuglation.php中:
$db['mysql']['hostname'] = "localhost";
$db['mysql']['username'] = "root";
$db['mysql']['password'] = "";
$db['mysql']['dbdriver'] = "mysql";
//... (full config omitted for brevity)
$db['mongodb']['hostname'] = "localhost";
$db['mongodb']['username'] = "root";
$db['mongodb']['password'] = "";
$db['mongodb']['dbdriver'] = "mongodb";
//... (full config omitted for brevity)
然后按如下方式加载数据库:
$mysqlDB = $this->load->database('mysql', TRUE);
$mongoDB = $this->load->database('mongodb', TRUE);
请继续查看用户指南 我不知道,使用用于工作队列的软件不是更好吗?@JohnD,不能——我只限于使用cloudcontrol,他们没有为此提供任何服务。我已经研究过Amazon SQS,但延迟太高,可能会因为我们的目的而变得昂贵。