MongoDB不与options参数连接

时间:2014-02-21 15:52:34

标签: php mongodb mongohq

我正在尝试连接options参数,但它没有连接

try
  { 
    $connection_url = "mongodb://{$dbuser}:{$dbpass}@{$dburl}:{$dbport}/{$dbname}";
    $m = new MongoClient($connection_url, 
                          array('connectTimeoutMS'=>30000,
                                'socketTimeoutMS'=>30000)
                       );

   }
   catch ( MongoConnectionException $e ) 
   {
     echo $e->getMessage();

   }
   catch ( MongoException $e ) 
   {
     echo $e->getMessage();
   } 
   catch ( Exception $e ) 
   {
     echo $e->getMessage();
   }

这段代码简单地转到了没有消息的异常。

如果我删除了选项参数,它会连接到mongodb服务器。

为什么它不与参数选项连接?

如果我使用其他方式传递options参数

$connection_url = "mongodb://{$dbuser}:{$dbpass}@{$dburl}:{$dbport}
                 /{$dbname}?connectTimeoutMS=30000&socketTimeoutMS=30000";
$m = new MongoClient($connection_url);

通过错误

  

'MongoConnectionException',带有消息' - 找到未知连接   字符串选项'connectTimeoutMS',其值为'> 30000''

这两种方式都不适用于options参数。

Mongodb在mongohq.com上

1 个答案:

答案 0 :(得分:0)

MongoClient的PHP手册页中实际记录为不支持。

同样如页面底部的ChangeLog中所述,仅对驱动程序的版本1.3.4添加了对所使用选项的选项(选项参数样式)的支持。所以你可能需要检查你的驱动程序版本。