php - 有没有办法在 PHP 中测试 MongoDB 连接?

标签 php mongodb

上下文

我有一个配置文件,我在其中精确了 MongoDB 连接字符串。我想测试我的 MongoDB 连接,以便使用我的代码向开发人员准确说明他们的配置是否存在问题。

我使用 MongoDB driver .

我没有找到任何关于 Mongo 连接测试的信息。

问题

我愿意:

<?php
$configuration = parse_ini_file("../configs/database.ini");
$mongo = new MongoDB\Client($configuration['resources.mongo.dsn']);
$db = $mongo->stats;

但抛出的唯一错误是那些关于 MongoDB 连接字符串 格式错误的错误。例如:

  • 使用 test_bad_string,会抛出 MongoDB\Driver\Exception\InvalidArgumentException

  • 使用 mongodb://127.0.0.1:270(我的 MongoDB 的默认端口是 27017),我没有看到任何错误

问题

有没有办法在 PHP 中测试与 MongoDB 数据库的连接?

最佳答案

好的,我找到了测试的方法!

<?php
$mongo = new MongoDB\Client('mongodb://my_server_does_not_exist_here:27017');
$dbs = $mongo->listDatabases();

如果连接失败,listDatabases 会抛出 MongoDB\Driver\Exception\ConnectionTimeoutException。您只需要在 listDatabases 周围设置一个 try/catch。

关于php - 有没有办法在 PHP 中测试 MongoDB 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43977509/

相关文章:

php - 如果字段留空(十进制)MySQL/PHP,则插入 NULL

html - 我的表格内容一开始很好,然后在一行中变得一团糟(Node.js、MongoDB)

MongoDB 聚合 - $sum 参数

javascript - 无法读取未定义的属性 'push'

MongoDB 列出父类别中的子类别

mongodb - Moment JS 一年中的周数

php - 自定义密码编码器 symfony 5

php - 我可以使用参数化 SQL 动态选择数据库中的字段吗?

php - 使用 GROUP BY 和 ORDER BY 条件在两个 MySQL 表上加入与联合

php - 如何使用 anchor 标记显示 Laravel 验证错误