mongodb-php - MongoClient,连接密码为 '@'

标签 mongodb-php

我一直在尝试使用 MongoDb 进行试验,当我运行脚本进行连接时,它不能,因为密码使用了 @ 符号。

连接到 MongoDb

mongodb://用户名:密码@localhost

但是由于我连接MongoDb的密码使用了@符号,所以由于@符号无法连接。

例如;

new MongoClient("mongodb://mongo:p@assword@localhost);

会抛出如下错误;

PHP fatal error :未捕获异常“MongoConnectionException”,消息“无法连接到:assword!@localhost:27017:无法获取 assword 的主机信息!@localhost”

如您所见,它认为密码中的第一个 @ 是密码和主机的分隔符。

有没有办法连接,并在使用 MongoClient 时允许密码中包含 @ 符号? ?

最佳答案

http://uk3.php.net/manual/en/mongoclient.construct.php您可以将用户名和密码作为选项数组传递

new MongoClient("mongodb://localhost:27017", array("username"=> "joe", "password"=> "test"));

关于mongodb-php - MongoClient,连接密码为 '@',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21094788/

相关文章:

php - 在 php 中按特定顺序获取 mongodb 字段

mysql - MongoDB 相当于 NOW() + INTERVAL

codeigniter - 如何在 codeigniter 中集成 mongodb 库以与 mongodb 进行数据库连接

php - PHP中的MongoDB多个$和运算符查询

php - 如何在php中查询mongo?

mongodb - 在mongod php中更新数组中的多个元素

mongodb - 在 MongoDB 中创建数据库并从文件中插入数据

php - 无法在 OS X 10.11 上安装 mongo-php-driver

php - mongodb写关注