cakephp没有连接到mongodb

时间:2012-11-13 21:07:50

标签: mongodb cakephp-2.1

我已成功将mongodb添加到我的服务器,我能够从mongo shell工作没问题,我也可以从php连接到数据库就好了。我还下载并半成功安装了mongodb和cakephp的插件。但是我现在坚持使用cakephp无法连接到数据库。我已经关注了ichikawa的github和标记故事的主题网页,但都没有帮助克服这个驼峰。有没有人有什么建议我应该尝试让这个连接和运行?

2 个答案:

答案 0 :(得分:0)

我遇到了这个,一个伙伴发现了一个链接,告诉我们要替换/app/Plugin/Mongodb/Model/Datasource/MongodbSource.php的第185行。这是旧行和新行。

// $this->connection = new Mongo($host, array("persist" => $this->config['persistent']));
$this->connection = new Mongo($host);

我可以尝试找到该网址,但解决方案已在上面。

答案 1 :(得分:0)

因为您的服务器使用的是mongodb驱动程序1.x.我们来修理:

在app / Plugin / Monggodb / MongodbSource.php(第197行)中,找到:

else if ($this->_driverVersion >= '1.3.0') {
                $this->connection = new $class($host);  // mongodb 2.x             
            } 

取代:

else if ($this->_driverVersion >= '1.3.0' && $this->_driverVersion < '2.0') {
$this->connection = new $class("mongodb://loginID:password@IP"); // mongodb 1.5.6, loginID: your mongodb user login;     
}  

使用上面的代码,你改变了连接字符串,因为mongo 2.x和1.x之间的连接字符串不同

投票是否正确!有趣!