MongoDB\Driver\Manager::__construct

(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 平台上,扩展程序对使用 fork() 系统调用而不调用 exec() 的脚本很敏感。建议用户不要在分叉的子进程中重新使用 MongoDB\Driver\Manager 实例。

参数

uri

一个 » mongodb:// 连接 URI

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

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

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

defaultAuthDb 组件可用于指定与用户凭据关联的数据库名称;但是,如果指定了 authSource URI 选项,它将优先。如果未指定 defaultAuthDbauthSource,则默认情况下将使用 admin 数据库。在没有用户凭据的情况下,defaultAuthDb 组件无效。

uriOptions

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

uriOptions
选项 类型 描述
appname string

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

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

authMechanism string

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

authMechanismProperties array

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

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

authSource string

与用户凭据关联的数据库名称。默认为连接 URI 的数据库组件,如果两者都未指定,则默认为 admin 数据库。

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

canonicalizeHostname bool

如果为 true,驱动程序将在通过 SASL 进行身份验证之前解析服务器 IP 地址的真实主机名。某些底层 GSSAPI 层已经执行此操作,但其功能可能在它们的配置中被禁用(例如 krb.conf)。默认为 false

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

compressors string

客户端想要使用的压缩程序的优先级、逗号分隔列表。只有当客户端和服务器共用任何压缩程序时才会压缩消息,并且每个方向使用的压缩程序将取决于服务器或驱动程序的单独配置。有关更多信息,请参阅 » 驱动程序压缩规范

connectTimeoutMS int

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

directConnection bool

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

gssapiServiceName string

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

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

heartbeatFrequencyMS int

指定驱动程序检查 MongoDB 拓扑的间隔(以毫秒为单位),从上次检查结束到下一次检查开始计算。默认为 60,000 毫秒。

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

journal bool

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

loadBalanced bool

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

localThresholdMS int

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

maxStalenessSeconds int

对应于读取偏好的 "maxStalenessSeconds"。以秒为单位指定,在客户端停止使用辅助副本进行读取操作之前,辅助副本可以有多陈旧。默认情况下,没有最大陈旧时间,并且客户端在选择读取操作的目标位置时不会考虑辅助副本的延迟。有关详细信息,请参见 MongoDB\Driver\ReadPreference

如果指定,最大陈旧时间必须为大于或等于 **MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS**(即 90 秒)的带符号 32 位整数。

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

对应于读取偏好的 mode 参数。默认值为 "primary"。有关详细信息,请参见 MongoDB\Driver\ReadPreference

readPreferenceTags array

对应于读取偏好的 tagSets 参数。标签集允许您将读取操作目标定位到副本集的特定成员。有关详细信息,请参见 MongoDB\Driver\ReadPreference

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

replicaSet string

指定副本集的名称。

retryReads bool

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

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

retryWrites bool

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

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

safe bool

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

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

serverSelectionTimeoutMS int

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

serverSelectionTryOnce bool

当为 **true** 时,指示驱动程序在服务器选择失败后,仅扫描一次 MongoDB 部署,然后选择一个服务器或引发错误。当为 **false** 时,驱动程序会阻塞并搜索服务器,直到达到 "serverSelectionTimeoutMS" 值。默认值为 **true**。

socketCheckIntervalMS int

如果套接字最近未使用,驱动程序必须通过 hello 命令检查套接字,然后才能将其用于任何操作。默认值为 5,000 毫秒。

socketTimeoutMS int

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

srvMaxHosts int

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

srvServiceName string

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

ssl bool

如果为 **true**,则使用 TLS/SSL 初始化连接。默认值为 **false**。

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

tls bool

如果为 **true**,则使用 TLS/SSL 初始化连接。默认值为 **false**。

tlsAllowInvalidCertificates bool

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

警告

禁用证书验证会创建一个漏洞。

tlsAllowInvalidHostnames bool

指定驱动程序在服务器的主机名与 TLS 证书指定的主机名不匹配时是否应报错。默认值为 **false**。

警告

禁用证书验证会创建一个漏洞。允许无效主机名可能会使驱动程序面临 » 中间人攻击 的风险。

tlsCAFile string

包含单个或多个证书颁发机构的路径,这些证书颁发机构在建立 TLS 连接时被视为受信任的。默认情况下,将使用系统证书存储。

tlsCertificateKeyFile string

客户端证书文件或客户端私钥文件的路径;如果需要两者,则应将文件连接起来。

tlsCertificateKeyFilePassword string

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

tlsDisableCertificateRevocationCheck bool

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

tlsDisableOCSPEndpointCheck bool

如果为 **true**,驱动程序将不会尝试联系 OCSP 响应程序端点(如果需要)(即,OCSP 响应未进行钉扎)。默认值为 **false**。

tlsInsecure bool

尽可能放宽 TLS 约束。为该选项指定 **true** 与为 "tlsAllowInvalidCertificates""tlsAllowInvalidHostnames" URI 选项都指定 **true** 的效果相同。默认值为 **false**。

警告

禁用证书验证会创建一个漏洞。允许无效主机名可能会使驱动程序面临 » 中间人攻击 的风险。

username string 要进行身份验证的用户的用户名。此选项在用户名包含特殊字符时很有用,否则需要对连接 URI 进行 URL 编码。
w int|string

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

wTimeoutMS int|string

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

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

zlibCompressionLevel int

指定用于 zlib 压缩器的压缩级别。如果 "compressors" URI 选项中不包含 zlib,则此选项无效。有关详细信息,请参见 » 驱动程序压缩规范

driverOptions

driverOptions
选项 类型 描述
allow_invalid_hostname bool

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

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

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

autoEncryption array

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

注意:

自动加密是企业版专有功能,仅适用于对集合的操作。自动加密不支持对数据库或视图的操作,并且不会绕过自动加密的操作将导致错误(请参见 » libmongocrypt:自动加密允许列表)。要绕过所有操作的自动加密,请将 bypassAutoEncryption 设置为 **true**。

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

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

支持以下选项

自动加密选项
选项 类型 描述
keyVaultClient MongoDB\Driver\Manager 用于将数据密钥查询路由到单独的 MongoDB 集群的管理器。默认情况下,使用当前管理器和集群。
keyVaultNamespace string 表示包含用于加密和解密的所有数据密钥的集合的完全限定的命名空间(例如,"databaseName.collectionName")。此选项是必需的。
kmsProviders array

包含一个或多个 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>
}
tlsOptions array

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

<provider>: {
    tlsCaFile: <optional string>,
    tlsCertificateKeyFile: <optional string>,
    tlsCertificateKeyFilePassword: <optional string>,
    tlsDisableOCSPEndpointCheck: <optional bool>
}
schemaMap 数组|对象

集合命名空间到本地 JSON 架构的映射。这用于配置自动加密。有关更多信息,请参见 MongoDB 手册中的 » 自动加密规则。在 schemaMapencryptedFieldsMap 中指定同一个集合会导致错误。

注意: 提供 schemaMap 比依赖从服务器获取的 JSON 架构更安全。它可以防止恶意服务器发布虚假的 JSON 架构,这可能会欺骗客户端发送应该加密但未加密的数据。

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

bypassAutoEncryption bool 如果为 true,则不会自动生成 mongocryptd。这用于禁用自动加密。默认为 false
bypassQueryAnalysis bool

如果为 true,则将禁用对传出命令的自动分析,并且不会自动生成 mongocryptd。这允许对索引字段进行显式加密,而无需企业授权的 crypt_shared 库或 mongocryptd 进程。默认为 false

encryptedFieldsMap 数组|对象

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

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

extraOptions array

The extraOptions 适用于 mongocryptd 进程。支持以下选项

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

有关更多信息,请参见 » 客户端加密规范

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

ca_dir string

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

ca_file string

包含单个或多个证书颁发机构的路径,这些证书颁发机构在建立 TLS 连接时被视为受信任的。默认情况下,将使用系统证书存储。

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

context resource

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

SSL 上下文选项回退
驱动程序选项 上下文选项(回退)
ca_dir capath
ca_file cafile
pem_file local_cert
pem_pwd passphrase
weak_cert_validation allow_self_signed

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

crl_file string 证书吊销列表文件的路径。
disableClientPersistence bool

如果为 true,此管理器将使用新的 libmongoc 客户端,该客户端不会持久化或与其他管理器对象共享。当此管理器对象被释放时,其客户端将被销毁,并且所有连接将被关闭。默认为 false

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

driver array

允许更高层级的库将自己的元数据附加到服务器握手。默认情况下,扩展程序会在握手时提交自己的名称、版本和平台(即 PHP 版本)。可以为该数组的 "name""version""platform" 键指定字符串,它们将被附加到握手文档中的相应字段。

注意: 握手信息限制为 512 字节。扩展程序将截断握手数据以适应这 512 字节的字符串。鼓励更高层级的库使其元数据简洁。

pem_file string

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

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

pem_pwd string

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

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

serverApi MongoDB\Driver\ServerApi

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

weak_cert_validation bool

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

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

错误/异常

变更日志

版本 描述
PECL mongodb 1.16.0

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

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

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

PECL mongodb 1.15.0

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

PECL mongodb 1.14.0

添加了 "bypassQueryAnalysis""encryptedFieldsMap" 自动加密选项。现在,与 crypt_shared 相关的附加选项在 "extraOptions" 自动加密选项中受支持。

PECL mongodb 1.13.0

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

PECL mongodb 1.12.0

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

PECL mongodb 1.11.0

添加了 "loadBalanced" URI 选项。

PECL mongodb 1.10.0

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

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

PECL mongodb 1.8.0

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

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

PECL mongodb 1.7.0

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

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

PECL mongodb 1.6.0

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

"retryWrites" URI 选项默认值为 **true**。

通过连接字符串或 uriOptions 参数指定任何 SSL 或 TLS URI 选项现在将隐式启用 TLS,除非 ssltls 为 **false**。对于 driverOptions 参数中的任何选项,TLS *不会* 隐式启用,这与以前版本没有变化。

PECL mongodb 1.5.0

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

PECL mongodb 1.4.0

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

PECL mongodb 1.3.0

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

PECL mongodb 1.2.0

uri 参数默认值为 "mongodb://127.0.0.1/"。默认端口保持为 27017

添加了 "appname" URI 选项。

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

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

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 节点。套接字路径可能包含特殊字符,如斜杠,应使用 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:[email protected]/?authSource=databaseName");

?>

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

<?php

$manager
= new MongoDB\Driver\Manager("mongodb://myusername:myp%40ss%3Aw%[email protected]/?authSource=databaseName");

?>

使用 X509 认证连接到 MongoDB

<?php

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

用户贡献的笔记 2 笔记

denys at bulakhweb dot com
7 年前
请注意,如果您将 socketTimeoutMs 值作为 0 发送以禁用超时(根据 MongoDB 文档),它将在 PHP 驱动程序中被视为默认值,即 300,000 毫秒。因此,如果您需要禁用限制,请发送一些非常大的值。
denys at bulakhweb dot com
7 年前
请注意,如果您将 socketTimeoutMs 值作为 0 发送以禁用超时(根据 MongoDB 文档),它将在 PHP 驱动程序中被视为默认值,即 300,000 毫秒。因此,如果您需要禁用限制,请发送一些非常大的值。
To Top