Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.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
构建在codeigniter之上的PHP应用程序是否可以同时连接MySQL和mongoDB数据库?_Php_Mysql_Codeigniter_Mongodb_Cloudcontrol - Fatal编程技术网

构建在codeigniter之上的PHP应用程序是否可以同时连接MySQL和mongoDB数据库?

构建在codeigniter之上的PHP应用程序是否可以同时连接MySQL和mongoDB数据库?,php,mysql,codeigniter,mongodb,cloudcontrol,Php,Mysql,Codeigniter,Mongodb,Cloudcontrol,我有一个内置于codeigniter的web应用程序,由托管。我使用一个普通的MySQL数据库来实现所有的数据持久化,现在我想在MySQL数据库之外使用一个mongodb数据库 我想使用mongodb作为作业队列,在我的工作人员和应用程序服务器之间持久化消息。我从本教程中得到了这样做的灵感: 这是可能的(同时使用两种不同类型的数据库——有/没有破解codeigniter,我想是的) 要做到这一点有什么建议吗 ----编辑--- 我已将此库包括在我的CI项目中: 当我试图通过以下方式加载它:$t

我有一个内置于codeigniter的web应用程序,由托管。我使用一个普通的MySQL数据库来实现所有的数据持久化,现在我想在MySQL数据库之外使用一个mongodb数据库

我想使用mongodb作为作业队列,在我的工作人员和应用程序服务器之间持久化消息。我从本教程中得到了这样做的灵感:

  • 这是可能的(同时使用两种不同类型的数据库——有/没有破解codeigniter,我想是的)

  • 要做到这一点有什么建议吗

  • ----编辑---

    我已将此库包括在我的CI项目中:

    当我试图通过以下方式加载它:
    $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,但延迟太高,可能会因为我们的目的而变得昂贵。