PHP8 MongoDB\Driver\Manager::__construct

2024-04-08 10:15 更新

(mongoDB >=1.0.0)

MongoDB\Driver\Manager::__construct — 创建新的MongoDB管理器

说明

final public MongoDB\Driver\Manager::__construct(?string $uri = null, ?array $uriOptions = null, ?array $driverOptions = null)

使用指定的选项构造新的 MongoDB\Driver\Manager 对象。

注意: 根据 » 服务器发现和监控规范, 此构造函数不执行 I/O。 连接将按需初始化, 执行第一个操作时。
注意: 通过连接字符串或 uriOptions 参数指定任何 SSL 或 TLS URI 选项时,驱动程序将隐式 为其连接启用 TLS。若要避免这种情况,请显式禁用 tls 选项,或者不指定任何 TLS 选项。
注意: 在 Unix 平台上,MongoDB 驱动程序对使用 fork() 系统调用,而不调用 exec()。建议用户不要 在分叉中重用 MongoDB\Driver\Manager 实例 子进程。

参数 

uri

A » mongodb:// 连接 URI:

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[defaultAuthDb][?options]]

有关支持的 URI 选项的详细信息,请参阅 MongoDB 手册中的 » 连接字符串选项。» 不支持连接池选项,因为 PHP 驱动程序不实现连接池。

是一个 URL,因此任何特殊字符 其组件需要根据 » RFC 3986 进行 URL 编码。这尤其 与用户名和密码相关,通常可以包括特殊 字符,例如 、 或 。通过 Unix 域套接字连接时,套接字 path 可能包含特殊字符(如斜杠),并且必须进行编码。 rawurlencode() 函数可用于编码 URI 的组成部分。uri@:%

该组件可用于指定 与用户凭据关联的数据库名称;但是,如果指定,则 URI 选项将具有优先级。 如果既未指定,也未指定,则默认使用数据库。在没有用户凭据的情况下,该组件不起作用。defaultAuthDbauthSourcedefaultAuthDbauthSourceadmindefaultAuthDb

uriOptions

其他 » 连接字符串选项, 这将覆盖参数中具有相同名称的任何选项。uri

uri选项
选择类型描述
应用名称字符串

MongoDB 3.4+ 能够使用元数据注释连接 由连接客户端提供。此元数据包含在 服务器在建立连接时的日志,并记录在 启用数据库分析时查询日志速度较慢。

此选项可用于指定应用程序名称,该名称将 包含在元数据中。该值不能超过 128 个字符 在长度上。

auth机制字符串

MongoDB 将用于身份验证的身份验证机制 连接。有关其他详细信息和支持的列表 值,请参阅 MongoDB 手册中的 » 身份验证选项。

authMechanism属性数组

所选身份验证机制的属性。对于其他 有关详细信息和支持的属性列表,请参阅 » 驱动程序身份验证规范。

注意: 如果未在 URI 字符串中指定,则此选项表示为 键/值对的数组。此数组中的键和值 应该是字符串。

authSource字符串

与用户凭据关联的数据库名称。违约 添加到连接 URI 的数据库组件,如果两者都未指定,则添加到数据库。admin

对于将凭据存储委派给的身份验证机制 其他服务(例如 GSSAPI),这应该是 ."$external"

canonicalize主机名布尔

如果为 true,驱动程序将解析服务器的真实主机名 通过 SASL 进行身份验证之前的 IP 地址。一些底层 GSSAPI 图层已经执行此操作,但该功能可能会在 他们的配置(例如)。默认值为 falsekrb.conf

此选项是 URI 选项属性的已弃用别名。"CANONICALIZE_HOST_NAME""authMechanismProperties"

压缩机字符串

客户端的压缩器的优先级、逗号分隔的列表 想要使用。仅当客户端和服务器 共享任何通用压缩机,以及每个压缩机中使用的压缩机 方向将取决于服务器的个别配置 或司机。有关详细信息,请参阅 » 驱动程序压缩规范。

connectTimeoutMS (连接超时MS)国际

超时前尝试连接的时间(以毫秒为单位)。 默认值为 10,000 毫秒。

直接连接布尔

此选项可用于控制副本集发现行为 当连接字符串中仅提供单个主机时。由 默认情况下,在连接字符串中提供单个成员将 建立直接连接或发现其他成员 取决于 URI 选项是否 分别被省略或存在。指定 false 强制 发现发生(如果省略) 或指定 true 以强制直接连接(如果存在)。"replicaSet""replicaSet""replicaSet"

gssapiServiceName字符串

连接到 Kerberized MongoDB 时设置 Kerberos 服务名称 实例。此值必须与 MongoDB 上设置的服务名称匹配 实例(即 » saslServiceName 服务器参数)。默认值为 。"mongodb"

此选项是 URI 选项属性的已弃用别名。"SERVICE_NAME""authMechanismProperties"

心跳频率MS国际

指定驱动程序检查之间的间隔(以毫秒为单位) MongoDB 拓扑,从上次检查的末尾开始计数 直到下一个开始。默认值为 60,000 毫秒。

根据 » 服务器发现和监视规范, 此值不能小于 500 毫秒。

杂志布尔

对应于默认写入关注点的参数。如果为 true,则写入将 需要 MongoDB 确认操作已 写给日记。有关详细信息,请参阅 MongoDB\Driver\WriteConcern。journal

负载平衡布尔

指定驱动程序是否连接到 MongoDB 集群 通过负载均衡器。如果为 true,则驱动程序只能连接到 单个主机(由连接字符串或 SRV 指定 lookup),URI 选项 不能为 true,并且 URI 选项 必须省略。默认值为 false"directConnection""replicaSet"

localThresholdMS国际

用于选择的延迟窗口的大小(以毫秒为单位) 多个合适的 MongoDB 实例,同时解析读取 偏好。默认值为 15 毫秒。

maxStalenessSeconds国际

对应于读取首选项的 .以秒为单位指定如何 在客户端停止使用它进行读取之前,辅助数据库可能会过时 操作。默认情况下,没有最大过时和客户端 在选择将 读取操作。有关详细信息,请参阅 MongoDB\Driver\ReadPreference。"maxStalenessSeconds"

如果指定,则最大过时性必须是有符号的 32 位整数 大于或等于 MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS(即 90 秒)。

密码字符串正在进行身份验证的用户的密码。此选项很有用 如果密码包含特殊字符,否则会 需要对连接 URI 进行 URL 编码。
readConcernLevel字符串对应于读取关注点的参数。指定读取隔离级别。有关详细信息,请参阅 MongoDB\Driver\ReadConcern。level
readPreference字符串

对应于读取首选项的参数。默认值为 。详情请见 请参阅 MongoDB\Driver\ReadPreference。mode"primary"

readPreference标签数组

对应于读取首选项的参数。标记集允许您将读取操作定位到特定的 副本集的成员。有关详细信息,请参阅 MongoDB\Driver\ReadPreference。tagSets

注意: 如果未在 URI 字符串中指定,则此选项表示为 与 MongoDB\Driver\ReadPreference::__construct() 所需的格式一致的数组。

replicaSet字符串

指定副本集的名称。

retryReads布尔

指定驱动程序是否应自动重试 某些由于暂时性网络错误而失败的读取操作 或副本集选举。此功能需要 MongoDB 3.6+。 默认值为 true

有关详细信息,请参阅 » 可重试读取规范。

retryWrites的布尔

指定驱动程序是否应自动重试 某些由于暂时性网络错误而失败的写入操作 或副本集选举。此功能需要 MongoDB 3.6+。 默认值为 true

有关详细信息,请参阅 MongoDB 手册中的 » 可重试写入。

安全布尔

如果为 true,则指定默认写入 关注的参数。如果为 false,则指定。有关详细信息,请参阅 MongoDB\Driver\WriteConcern。1w0

此选项已弃用,不应使用。

服务器选择超时MS国际

指定阻止服务器选择的时间(以毫秒为单位) 在抛出异常之前。默认值为 30,000 毫秒。

serverSelectionTryOnce布尔

如果为 true,则指示驱动程序扫描 MongoDB 部署 服务器选择失败后正好一次,然后选择 服务器或引发错误。如果为 false,驱动程序会阻止 搜索高达该值的服务器。默认值为 true"serverSelectionTimeoutMS"

套接字检查间隔MS国际

如果最近没有使用插座,驱动程序必须通过 一个命令,然后再将其用于任何 操作。默认值为 5,000 毫秒。hello

套接字超时MS国际

尝试在套接字上发送或接收的时间(以毫秒为单位) 在超时之前。默认值为 300,000 毫秒(即 5 毫秒 分钟)。

srvMax主机国际

最初随机选择的最大 SRV 结果数 填充种子列表,或者在 SRV 轮询期间将新主机添加到 拓扑。默认值为(即无最大值)。0

srvServiceName字符串

用于在初始 DNS 种子列表中查找 SRV 的服务名称 发现和 SRV 轮询。默认值为 。"mongodb"

SSL公司布尔

如果为 true,则启动与 TLS/SSL 的连接。默认值为 false

此选项是 URI 选项的已弃用别名。"tls"

TLS的布尔

如果为 true,则启动与 TLS/SSL 的连接。默认值为 false

tlsAllowInvalidCertificates布尔

指定驱动程序是否应在服务器的 TLS 证书无效。默认值为 false

警告

禁用证书验证会造成漏洞。

TLSALOVinvaldhosames布尔

指定驱动程序在出现 服务器的主机名与指定的主机名不匹配 TLS 证书。默认值为 false

警告

禁用证书验证会造成漏洞。允许 无效的主机名可能会使驱动程序遭受 » 中间人攻击。

tlsCAFile字符串

包含单个或捆绑证书的文件路径 建立 TLS 连接时被视为受信任的机构。 默认情况下将使用系统证书存储。

tlsCertificateKeyFile字符串

客户端证书文件或客户端私钥文件的路径; 如果两者都需要,则文件应为 级 联。

tlsCertificateKeyFilePassword字符串

用于解密客户端私钥的密码(即 URI 选项) 用于 TLS 连接。"tlsCertificateKeyFile"

tlsDisableCertificateRevocationCheck布尔

如果为 true,驱动程序将不会尝试检查证书 吊销状态(例如 OCSP、CRL)。默认值为 false

tlsDisableOCSPEndpointCheck布尔

如果为 true,驱动程序将不会尝试联系 OCSP 响应程序 如果需要,则使用端点(即未装订 OCSP 响应)。违约 设置为 false

tls不安全布尔

尽可能放宽 TLS 约束。指定 true 此选项与为 URI 和 URI 选项指定 true 的效果相同。违约 设置为 false"tlsAllowInvalidCertificates""tlsAllowInvalidHostnames"

警告

禁用证书验证会造成漏洞。允许 无效的主机名可能会使驱动程序遭受 » 中间人攻击。

用户名字符串正在进行身份验证的用户的用户名。此选项很有用 如果用户名包含特殊字符,否则会 需要对连接 URI 进行 URL 编码。
整数|字符串

对应于默认写入关注点的参数。有关详细信息,请参阅 MongoDB\Driver\WriteConcern。w

w超时MS整数|字符串

对应于默认写入关注点的参数。指定时间限制, 以毫秒为单位,用于写入问题。有关详细信息,请参阅 MongoDB\Driver\WriteConcern。wtimeout

如果指定,则必须是有符号的 32 位 整数大于或等于零。wTimeoutMS

zlibCompressionLevel国际

指定用于 zlib 压缩器的压缩级别。这 如果 URI 选项。有关详细信息,请参阅 » 驱动程序压缩规范。zlib"compressors"

driverOptions
driver选项
选择类型描述
Allo_invalid_hostname布尔

如果为 true,则禁用主机名验证。默认值为 false

允许无效的主机名可能会使驱动程序面临 » 中间人攻击。

此选项是 URI 选项的已弃用别名。"tlsAllowInvalidHostnames"

自动加密数组

提供用于启用自动客户端字段级别的选项 加密。

注意

自动加密是一项仅限企业的功能,仅 适用于集合上的操作。自动加密不是 支持对数据库或视图的操作,以及 不被绕过将导致错误(请参阅 » libmongocrypt:自动加密允许列表)。绕过自动加密 对于所有操作,设置为 truebypassAutoEncryption

自动加密要求经过身份验证的用户具有 » listCollections 权限操作。

显式加密/解密和自动解密是 社区功能。当为 true 时,驱动程序仍可以自动解密。bypassAutoEncryption

支持以下选项:

自动加密选项
选择类型描述
keyVaultClientMongoDB\驱动程序\管理器用于将数据密钥查询路由到单独的 MongoDB 集群的管理器。默认情况下,使用当前 Manager 和集群。
keyVaultNamespace字符串一个完全限定的命名空间(例如 ),表示包含用于加密和解密的所有数据密钥的集合。此选项是必需的。"databaseName.collectionName"
kms提供程序数组

包含一个或多个 KMS 提供程序的配置的文档,这些提供程序用于加密数据密钥。支持的提供程序包括 、 、 、 和 ,并且必须至少指定一个。"aws""azure""gcp""kmip""local"

如果为 、 或 驱动程序指定了空文档 将尝试使用 » 自动凭据配置提供程序。"aws""azure""gcp"

格式如下:"aws"

aws: {
    accessKeyId: <string>,
    secretAccessKey: <string>,
    sessionToken: <optional string>
}

格式如下:"azure"

azure: {
    tenantId: <string>,
    clientId: <string>,
    clientSecret: <string>,
    identityPlatformEndpoint: <optional string> // Defaults to "login.microsoftonline.com"
}

格式如下:"gcp"

gcp: {
    email: <string>,
    privateKey: <base64 string>|<MongoDB\BSON\Binary>,
    endpoint: <optional string> // Defaults to "oauth2.googleapis.com"
}

格式如下:"kmip"

kmip: {
    endpoint: <string>
}

格式如下:"local"

local: {
    // 96-byte master key used to encrypt/decrypt data keys
    key: <base64 string>|<MongoDB\BSON\Binary>
}
tls选项数组

包含一个或多个 KMS 提供商的 TLS 配置的文档。支持的提供程序包括 、 、 和 。所有提供程序都支持以下选项:"aws""azure""gcp""kmip"

<provider>: {
    tlsCaFile: <optional string>,
    tlsCertificateKeyFile: <optional string>,
    tlsCertificateKeyFilePassword: <optional string>,
    tlsDisableOCSPEndpointCheck: <optional bool>
}
架构映射数组|对象

集合命名空间到本地 JSON 架构的映射。这是 用于配置自动加密。有关详细信息,请参阅 MongoDB 手册中的 » 自动加密规则。这是一个错误 在 和 中指定一个集合。schemaMapencryptedFieldsMap

注意: 提供 schemaMap 提供更多 安全性而不是依赖从 服务器。它可以防止恶意服务器宣传 false JSON 架构,这可能会诱骗客户端发送 应加密的未加密数据。

注意: 仅在 schemaMap 中提供的模式 适用于配置客户端自动加密 加密。JSON 架构中的其他验证规则将 不由驱动程序强制执行,将导致错误。

绕过自动加密布尔如果为 true,则不会生成 自然而然。这用于禁用自动加密。 默认值为 falsemongocryptd
绕过QueryAnalysis布尔

如果为 true,则对传出命令的自动分析将是 禁用,不会 自动生成。这启用了显式 用于查询索引字段的加密,而无需 企业许可的库或进程。默认值为 falsemongocryptdcrypt_sharedmongocryptd

encryptedFieldsMap数组|对象

集合命名空间到文档的映射。这用于 配置可查询加密。有关更多信息,请参阅 MongoDB 手册中的 » 字段加密和可查询性。这是一个错误 在 和 中指定一个集合。encryptedFieldsencryptedFieldsMapschemaMap

注意: 提供 encryptedFieldsMap 提供 比依赖从服务器获取的 encryptedFields 更安全。 它可以防止恶意服务器通告虚假的 encryptedFields

额外选项数组

与过程有关。以下选项 支持:extraOptionsmongocryptd

  • mongocryptdURI (string):用于连接到现有进程的 URI。默认值为 。mongocryptd"mongodb://localhost:27020"
  • mongocryptdBypassSpawn (bool):如果为 true,则阻止驱动程序生成。默认值为 falsemongocryptd
  • mongocryptdSpawnPath (string):搜索二进制文件的绝对路径。默认为空字符串并查询系统路径。mongocryptd
  • mongocryptdSpawnArgs (array):生成时要传递到的字符串参数数组。默认值为 。mongocryptd["--idleShutdownTimeoutSecs=60"]
  • cryptSharedLibPath (string):共享库的绝对路径。默认为空字符串并查询系统路径。crypt_shared
  • cryptSharedLibRequired (bool):如果为 true,则要求驱动程序加载 。默认值为 falsecrypt_shared

有关详细信息,请参阅 » 客户端加密规范。

注意: 自动加密是企业独有的功能,只有 适用于集合上的操作。自动加密不是 支持对数据库或视图的操作,以及 不绕过将导致错误。绕过自动 所有操作的加密,在 autoEncryption 中设置 bypassAutoEncryption=true。有关的更多信息 允许的操作,请参阅 » 客户端加密规范。

ca_dir字符串

正确哈希证书目录的路径。系统 默认情况下将使用证书存储。

ca_file字符串

包含单个或捆绑证书的文件路径 建立 TLS 连接时被视为受信任的机构。 默认情况下将使用系统证书存储。

此选项是 URI 选项的已弃用别名。"tlsCAFile"

上下文资源

要用作的 SSL 上下文选项 如果驱动程序选项或其等效的 URI 选项(如果有)则回退, 未指定。请注意,驱动程序不会咨询默认值 流上下文(即 stream_context_get_default())。以下 支持上下文选项:

SSL 上下文选项回退
驱动程序选项上下文选项(回退)
ca_dir卡帕斯
ca_filecafile(卡菲尔酒店)
pem_filelocal_cert
pem_pwd密码
weak_cert_validationallow_self_signed

支持此选项以实现向后兼容性,但应 被视为已弃用。

crl_file字符串证书吊销列表文件的路径。
disableClientPersistence布尔

如果为 true,则此管理器将使用一个新的 libmongoc 客户端,该客户端将 不能持久化或与其他 Manager 对象共享。当这个 Manager 对象被释放,其客户端将被销毁,任何 连接将被关闭。默认值为 false

注意: 通常不建议禁用客户端持久性。

司机数组

允许自定义驱动程序将自己的元数据追加到服务器 握手。默认情况下,驱动程序会提交自己的名称、版本和 平台(i.e. PHP版本)在握手中。自定义驱动程序可以 指定此数组的 、 和 键的字符串,这些字符串将是 附加到握手文档中的相应字段。"name""version""platform"

注意: 握手信息限制为 512 字节。司机会 截断握手数据以适合此 512 字节字符串。司机 鼓励 ODM 保持自己的元数据简洁。

pem_file字符串

用于客户端身份验证的 PEM 编码证书的路径。

此选项是 URI 选项的已弃用别名。"tlsCertificateKeyFile"

pem_pwd字符串

PEM 编码证书的密码(如果适用)。

此选项是 URI 选项的已弃用别名。"tlsCertificateKeyFilePassword"

服务器ApiMongoDB\驱动程序\ServerApi

此选项用于声明管理器的服务器 API 版本。 如果省略,则不会声明 API 版本。

weak_cert_validation布尔

如果为 true,则禁用证书验证。默认值为 false

此选项是 URI 选项的已弃用别名。"tlsAllowInvalidCertificates"

错误/异常 

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\RuntimeException if the format is invaliduri

更新日志 

版本说明
PECL mongodb 1.16.0

用于客户端加密的 AWS KMS 提供商现在接受一个选项,该选项可用于 使用临时 AWS 凭证进行身份验证。"sessionToken"

添加到驱动程序选项的字段中。"tlsDisableOCSPEndpointCheck""tlsOptions""autoEncryption"

如果为 或 KMS 提供程序指定了空文档,驱动程序将尝试 使用 » 自动凭据配置提供程序。"azure""gcp"

PECL mongodb 1.15.0

如果为 KMS 指定了空文档 provider,驱动程序将尝试使用 » 自动凭据配置提供程序。"aws"

PECL mongodb 1.14.0

添加了 和 自动加密选项。 与以下内容相关的其他选项包括 现在支持自动加密 选择。"bypassQueryAnalysis""encryptedFieldsMap"crypt_shared"extraOptions"

PECL mongodb 1.13.0

添加了 和 URI 选项。"srvMaxHosts""srvServiceName"

PECL mongodb 1.12.0

现在支持将 KMIP 作为 KMS 提供商进行客户端加密和 可以在驱动程序选项的字段中配置。此外,TLS 现在可以在驱动程序选项字段中配置 KMS 提供商的选项。"kmsProviders""autoEncryption""tlsOptions""autoEncryption"

PECL mongodb 1.11.0

添加了 URI 选项。"loadBalanced"

PECL mongodb 1.10.0

添加了驱动程序选项。"disableClientPersistence"

现在支持将 Azure 和 GCP 作为客户端的 KMS 提供程序 加密,并且可以在驱动程序选项的字段中配置。Base64 编码 字符串现在被接受为 MongoDB\BSON\Binary 的替代选项。"kmsProviders""autoEncryption""kmsProviders"

PECL mongodb 1.8.0

添加了 、 和 URI 选项。"directConnection""tlsDisableCertificateRevocationCheck""tlsDisableOCSPEndpointCheck"

添加了驱动程序选项。"driver"

PECL mongodb 1.7.0

添加了驱动程序选项。"autoEncryption"

通过参数指定任何 SSL 或 TLS 选项现在将隐式启用 TLS,就像 相应的 URI 选项。driverOptions

PECL mongodb 1.6.0

添加了 、 、 、 、 、 、 和 URI 选项。"retryReads""tls""tlsAllowInvalidCertificates""tlsAllowInvalidHostnames""tlsCAFile""tlsCertificateKeyFile""tlsCertificateKeyFilePassword""tlsInsecure"

URI 选项默认为 true"retryWrites"

现在,通过连接字符串或参数指定任何 SSL 或 TLS URI 选项将隐式启用 TLS,除非 或 为 false。 TLS 未隐式启用 参数,该参数不变 从以前的版本。uriOptionsssltlsdriverOptions

PECL mongodb 1.5.0

"wtimeoutMS"现在始终经过验证并应用于 写入关注点。以前,如果 <= 1,则忽略该选项,因为超时仅适用于 复制。"w"

PECL mongodb 1.4.0

添加了 、 和 URI 选项。"compressors""retryWrites""zlibCompressionLevel"

PECL mongodb 1.3.0

参数现在接受和选项。以前,这些 选项仅在参数中受支持。uriOptions"authMechanism""authMechanismProperties"uri

PECL mongodb 1.2.0

该参数默认为 。默认端口仍为 。uri"mongodb://127.0.0.1/"27017

添加了 URI 选项。"appname"

添加了 、 、 、 、 、 和 驱动程序选项。"allow_invalid_hostname""ca_file""ca_dir""clr_file""pem_file""pem_pwd""weak_cert_validation"

PHP Streams API 不再用于套接字通信。URI 选项现在默认为 10 秒,而不是以前版本中的default_socket_timeout。此外,驱动程序不再通过驱动程序选项支持所有 SSL 上下文选项。"connectTimeoutMS""context"

PECL mongodb 1.1.0

该参数是可选的,默认为 。uri"mongodb://localhost:27017/"

示例 

示例 #1 MongoDB\Driver\Manager::__construct() 基本示例

连接到独立的 MongoDB 节点:

<?php

$manager = new MongoDB\Driver\Manager("mongodb://example.com:27017");

?>

通过 Unix 域套接字连接到独立的 MongoDB 节点。套接字 path 可能包含特殊字符,例如斜杠,并且应该进行编码 使用 rawurlencode()。

<?php

$manager = new MongoDB\Driver\Manager("mongodb://" . rawurlencode("/tmp/mongodb-27017.sock"));

?>

连接到副本集:

<?php

$manager = new MongoDB\Driver\Manager("mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet");

?>

连接到分片集群(即一个或多个 mongos 实例):

<?php

$manager = new MongoDB\Driver\Manager("mongodb://mongos1.example.com,mongos2.example.com/");

?>

使用特定用户和数据库的身份验证凭据连接到 MongoDB:

<?php

$manager = new MongoDB\Driver\Manager("mongodb://myusername:mypassword@example.com/?authSource=databaseName");

?>

使用特定身份验证凭据连接到MongoDB user 和 database,其中用户名或密码包含 字符(例如 、 、 )。在以下示例中,密码字符串已手动转义;但是,rawurlencode() 也可用于转义 URI 组件 可能包含特殊字符。@:%myp@ss:w%rd

<?php

$manager = new MongoDB\Driver\Manager("mongodb://myusername:myp%40ss%3Aw%25rd@example.com/?authSource=databaseName");

?>

使用 X509 身份验证连接到 MongoDB:

<?php

$manager = new MongoDB\Driver\Manager(
    "mongodb://example.com/?ssl=true&authMechanism=MONGODB-X509",
    [],
    [
        "pem_file" => "/path/to/client.pem",
    ]
);
?>

参见 

  • 连接处理和持久性
  • » MongoDB 连接字符串格式


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号