2012-02-22 78 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,似乎已經解決了。

僅供參考 我使用