2012-02-22 43 views
2

我试图在Ubuntu 11.10上使用MongoDB和CakePHP 1.3,使用cakephp-mongodb driver from ichikaway,但我看到了持续连接问题。CakePHP/MongoDB:定期读取失败

我的模型很简单。我在尝试连接和读取

$this->loadModel('Mongo.Mpoint'); 
    $data = $this->Mpoint->find('first'); 

但是结果不一致。的时刻A显著量服务器返回

错误324(净:: ERR_EMPTY_RESPONSE):服务器关闭了连接 而不发送任何数据。

但是,发出刷新或者几次快速连续刷新将最终传递预期返回的数据。感觉就像服务器将要睡觉并需要被唤醒,因为重复输入不会产生错误,但这是主观的。崩溃发生在查找中,而不是连接本身。

我有rockmongo安装在服务器上,永远不会失败连接。如果我将连接指向不同的服务器(相同版本的mongo,但在centos上),我也会看到相同的行为,所以我不相信问题出在mongodb本身。

我试图将连接设置为永久性,并直接设置超时,所有都没有成功。

我的同事也有一个直接在centos服务器上运行的应用程序的副本,他说他最初看到了这个问题,但“它消失了”。

从我所看到的情况来看,这个问题很可能在cakePHP层中,因为跨不同服务器的连接会产生相同的结果,并且PHP中的直接连接无故障,但放置诊断程序不会显示任何即时使用情况。看到完整的PHP崩溃并没有从服务器返回任何有用的内容是很奇怪的。有没有其他人看到过这种行为,并修复它?

回答

2

尝试更新Mongodb的PHP驱动程序。我有同样的问题,我刚从1.2.7升级到1.2.9,似乎已经解决了。

仅供参考 我使用