0

尝试使用驱动程序管理器检查与mongodb服务器的连接php!我用谷歌搜索了很多次以获得类似的方法$DriverManager->checkConnection()或任何类似的属性$DBmanager->connected

php var_dump 的当前输出MongoDB\Driver\Manager

object(MongoDB\Driver\Manager)#10 (2) {
  ["uri"]=>
  string(24) "mongodb://127.0.0.1:27017"
  ["cluster"]=>
  array(0) {
  }
}

我通过启动数据库服务器进行检查,然后不运行服务器!结果没有区别var_dump

有什么帮助吗?

4

1 回答 1

1

MongoDB\Driver\Manager 是扩展的主要入口点。它负责维护与 MongoDB 的连接(无论是独立服务器、副本集还是分片集群)。

实例化 Manager 时不会与 MongoDB 建立连接。这意味着 MongoDB\Driver\Manager 始终可以构建,即使一个或多个 MongoDB 服务器已关闭。

任何写入或查询都可能引发连接异常,因为连接是延迟创建的。MongoDB 服务器也可能在脚本的生命周期内变得不可用。因此,将 Manager 上的所有操作都包含在 try/catch 语句中是很重要的。

final MongoDB\Driver\Manager {
/* Methods */
final public __construct ([ string $uri = "mongodb://127.0.0.1/" [, array $uriOptions = [] [, array $driverOptions = [] ]]] )
final public MongoDB\Driver\WriteResult executeBulkWrite ( string $namespace , MongoDB\Driver\BulkWrite $bulk [, MongoDB\Driver\WriteConcern $writeConcern ] )
final public MongoDB\Driver\Cursor executeCommand ( string $db , MongoDB\Driver\Command $command [, MongoDB\Driver\ReadPreference $readPreference ] )
final public MongoDB\Driver\Cursor executeQuery ( string $namespace , MongoDB\Driver\Query $query [, MongoDB\Driver\ReadPreference $readPreference ] )
final public MongoDB\Driver\ReadConcern getReadConcern ( void )
final public MongoDB\Driver\ReadPreference getReadPreference ( void )
final public array getServers ( void )
final public MongoDB\Driver\WriteConcern getWriteConcern ( void )
final public MongoDB\Driver\Server selectServer ( MongoDB\Driver\ReadPreference $readPreference )
}

使用 MongoDB\Driver\Manager 的 var_dump() 将打印出有关管理器的各种详细信息,这些详细信息通常不会公开。这对于调试驱动程序如何查看您的 MongoDB 设置以及使用哪些选项很有用。

<?php $manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
var_dump($manager); ?>

参考:链接

于 2017-05-19T12:19:13.163 回答