2017-05-19 192 views
0

尝试使用php驱动程序管理器检查与mongodb服务器的连接!我GOOGLE了很多次,以获得像$DriverManager->checkConnection()$DBmanager->connected之类的任何财产的方法!PHP mongodb驱动程序检查连接

从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结果没有区别!

任何帮助?

+0

你为什么需要它?只需执行任何命令,并检查错误。 –

+0

想要确保我的程序有足够的资源在网络上运行! – Fujael

回答

1

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

在实例化管理器时未连接到MongoDB。这意味着即使一个或多个MongoDB服务器关闭,也可以始终构建MongoDB \ Driver \ Manager。

任何写入或查询都会在连接被懒惰地创建时抛出连接异常。在脚本生命周期中,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) 
} 

的var_dump()荷兰国际集团一的MongoDB \驱动程序\管理器将打印出有关否则不能正常曝光的经理的各种细节。这对调试驱动程序如何查看您的MongoDB设置以及使用哪些选项很有用。

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

参考:Link

+0

Hello S N Tiwari! [你能回答?](https://stackoverflow.com/questions/44282664/php-mongodb-driver-query-array-columns) – Fujael