我正在尝试使用来自 ichikaway 的 cakephp-mongodb 驱动程序在带有 CakePHP 1.3 的 Ubuntu 11.10 上使用 MongoDB ,但我看到了持久连接问题。
我的模型非常简单。我正在尝试连接和读取
$this->loadModel('Mongo.Mpoint');
$data = $this->Mpoint->find('first');
然而结果是不一致的。服务器返回的大量时间
错误 324 (net::ERR_EMPTY_RESPONSE):服务器关闭连接而不发送任何数据。
但是,发出一次刷新或多次快速连续刷新最终将提供预期的返回数据。感觉就像服务器要睡觉了,需要被唤醒,因为反复点击返回不会产生错误,但这是主观的。崩溃发生在查找中,而不是连接本身。
我在永远无法连接的服务器上安装了rockmongo。如果我将连接指向不同的服务器(相同版本的 mongo,但在 centos 上),我也会看到相同的行为,所以我不认为问题出在 mongodb 本身。
我尝试将连接设置为持久并直接设置超时,但均未成功。
我的同事也有一个直接在 centos 服务器上运行的应用程序副本,他说他最初看到了这个问题,但“它消失了”。
据我所见,因此问题很可能出现在 cakePHP 层,因为跨不同服务器的连接会产生相同的结果,并且 PHP 中的直接连接是无故障的,但放置诊断并不会显示任何立即使用的东西。看到服务器完全没有返回任何有用的 PHP 崩溃是相当奇怪的。有没有其他人以前见过这种行为并修复它?