开发者

MongoCursorException 'couldn't get response header'

I am developing a website using PHP and mongodb. I access the mongodb with PECL-mongo, and have run into an annoyance. Every now and then, I get an error like this (I've anonymized the paths)

Fatal error: Uncaught exception 'MongoCursorException' with message 'couldn't get response header' in
    /PATH/index.php:38 Stack trace: #0 
    /PATH/index.php(38): MongoCursor->rewind() #1 
    /PATH/template.inc(29): get_sidebar() #2 
    /PATH/index.php(13): 
    require_once('PATH/...') #3 {main} thrown in PATH/index.php on line 38

According to the documentation, this means:

The driver could not fetch a reply header from the database, so it gave up. Check if the database is still up and the network is connected and try the query again.

But I know that the database is up because I am doing this locally on my own machine over loopback. No connection is made to the outside world.

Simply trying again often works. Is this a possibly a bug in PHP's driver for mongo? Could this be a "miscompile" issue (I compile开发者_开发问答d from source, but with very benign flags, -march=native -O2)?

Has anyone seen this before?

Searching around, I only see references to some stupid facebook game having the same error.

EDIT: I just downgraded my PECL driver to version 1.1.4 and so far, the problem seems have gone away. So this may simply be a bug in the 1.2.x series. If anyone can shed any light on it, that would be great.

EDIT: I am not doing anything complex here, the code that is having the issue litterally looks like this:

$m = new Mongo();
$collection = $m->my_db->collection;
$results = $collection->find(array("favorite"=>true))->limit(5);


i solved this problem with get new version mogodb.dll you can see http://www.mongodb.org/display/DOCS/PHP+Language+Center

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜