PHP.mk документација

MongoDB\Driver\Manager::__construct

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

mongodb-driver-manager.construct.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека mongodb-driver-manager.construct.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
MongoDB\Driver\Manager::__construct

Референца за `mongodb-driver-manager.construct.php` со подобрена типографија и навигација.

mongodb-driver-manager.construct.php

MongoDB\Driver\Manager::__construct

класата MongoDB\Driver\BulkWrite

MongoDB\Driver\Manager::__constructCreate new MongoDB Manager

= NULL

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

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2) MongoDB\Driver\Manager Креирај нов ClientEncryption објект

Забелешка: Per the » Спецификација за откривање и следење на сервери, this constructor performs no I/O. Connections will be initialized on demand, when the first operation is executed.

Забелешка: When specifying any SSL or TLS URI options via the connection string or uriOptions parameter, the extension will implicitly enable TLS for its connections. To avoid this, either explicitly disable the tls option or don't specify any TLS options.

Забелешка: На Unix платформи, екстензијата е чувствителна на скрипти што ја користат системскиот повик fork() без истовремено да го повикаат exec(). Корисниците се советуваат да не повторно користат MongoDB\Driver\Manager инстанци во форкиран процес на дете.

Параметри

uri

А » mongodb:// connection URI:

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

Стандардно е "mongodb://127.0.0.1:27017" if unspecified.

For details on supported URI options, see » Connection String Options in the MongoDB manual. » Connection pool options are not supported, as the extension does not implement connection pools.

На uri is a URL, hence any special characters in its components need to be URL encoded according to Кодирањето се врши според. This is particularly relevant to the username and password, which can often include special characters such as @, :, или %. When connecting via a Unix domain socket, the socket path may contain special characters such as slashes and must be encoded. The rawurlencode() function may be used to encode constituent parts of the URI.

На defaultAuthDb component may be used to specify the database name associated with the user's credentials; however the authSource URI option will take priority if specified. If neither defaultAuthDb nor authSource are specified, the admin базата на податоци ќе се користи по дифолт. На defaultAuthDb компонентата нема ефект во отсуство на кориснички акредитиви.

uriOptions

Дополнително » Опции за низа за поврзување, што ќе пребрише било какви опции со исто име во uri parameter.

uriOptions
Опција Тип = NULL
appname string

MongoDB 3.4+ има можност да ги анотира врските со метаподатоци обезбедени од клиентот што се поврзува. Овие метаподатоци се вклучени во логовите на серверот при воспоставување врска и исто така се запишуваат во логовите за бавни прашања кога е овозможено профилирање на базата на податоци.

Оваа опција може да се користи за да се специфицира име на апликација, кое ќе биде вклучено во метаподатоците. Вредноста не може да надмине 128 знаци.

authMechanism string

Механизмот за автентикација што MongoDB ќе го користи за автентикација на врската. За дополнителни детали и список на поддржани вредности, видете » Опции за автентикација in the MongoDB manual.

authMechanismProperties array

Својства за избраниот механизам за автентикација. За дополнителни детали и список на поддржани својства, видете го » Спецификација за автентикација на драјверот.

Забелешка: Кога не е специфицирано во URI низата, оваа опција е изразена како низа од парови клуч/вредност. Клучевите и вредностите во оваа низа треба да бидат низи.

authSource string

Името на базата на податоци поврзано со акредитивите на корисникот. Стандардно е компонентата за базата на податоци на URI за поврзување, или admin базата на податоци ако и двете се неопределени.

За механизми за автентикација кои делегираат складирање на акредитиви на други услуги (на пр. GSSAPI), ова треба да биде "$external".

compressors string

Приоритетна, разделена со запирки листа на компресори што клиентот сака да ги користи. Пораките се компресираат само ако клиентот и серверот споделуваат заеднички компресори, а компресорот што се користи во секоја насока ќе зависи од индивидуалната конфигурација на серверот или драјверот. Видете го » Спецификација за компресија на драјверот Користење на PHP од командната линија

connectTimeoutMS int

Времето во милисекунди за обид за поврзување пред истекување на времето. Стандардно е 10.000 милисекунди.

directConnection bool

Оваа опција може да се користи за контрола на однесувањето при откривање на реплика сет кога е обезбеден само еден хост во низата за поврзување. Стандардно, обезбедувањето на еден член во низата за поврзување ќе воспостави директна врска или ќе открие дополнителни членови во зависност од тоа дали "replicaSet" опцијата URI е изоставена или присутна, соодветно. Наведете false за да се присили откривањето да се случи (ако "replicaSet" се изоставува) или наведете true за да се присили директна врска (ако "replicaSet" е присутен).

heartbeatFrequencyMS int

Го специфицира интервалот во милисекунди помеѓу проверките на драјверот за MongoDB топологијата, броено од крајот на претходната проверка до почетокот на следната. Стандардно е 60.000 милисекунди.

Per the » Спецификација за откривање и следење на сервери, оваа вредност не може да биде помала од 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.

Ако е специфицирано, максималната застареност мора да биде потпишан 32-битен цел број поголем или еднаков на MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS (т.е. 90 секунди).

password string Лозинката за корисникот што се автентицира. Оваа опција е корисна ако лозинката содржи специјални знаци, кои инаку би требало да бидат URL кодирани за URI-то за поврзување.
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.

Постојат голем број корисни функции за » Спецификација за повторливи читања Користење на PHP од командната линија

retryWrites bool

Го специфицира дали драјверот треба автоматски да повторува одредени операции за запишување што пропаѓаат поради привремени мрежни грешки или избори на комплетот реплики. Оваа функционалност бара MongoDB 3.6+. Стандардно е true.

Константи за известување за грешки » Повторливи записи во прирачникот на MongoDB за повеќе информации.

serverSelectionTimeoutMS int

Го специфицира времето во милисекунди за блокирање за избор на сервер пред да се фрли исклучок. Стандардно е 30.000 милисекунди.

serverSelectionTryOnce bool

Кога true, го инструира драјверот да го скенира распоредот на MongoDB точно еднаш по неуспехот на изборот на сервер и потоа или да избере сервер или да подигне грешка. Кога false, драјверот блокира и бара сервер до "serverSelectionTimeoutMS" вредност. Стандардно е true.

socketCheckIntervalMS int

Ако сокетот не бил неодамна користен, драјверот мора да го провери преку hello команда пред да ја користи за каква било операција. Стандардно е 5.000 милисекунди.

socketTimeoutMS int

Времето во милисекунди за обид за испраќање или примање на сокет пред да истече времето. Стандардно е 300.000 милисекунди (т.е. пет минути).

srvMaxHosts int

Максималниот број на SRV резултати што случајно ќе се изберат при првичното пополнување на списокот на семиња или, за време на SRV анкетирање, додавање нови домаќини во топологијата. Стандардно е 0 (т.е. без максимум).

srvServiceName string

Името на услугата што треба да се користи за SRV пребарување во почетното откривање на списокот на семиња и SRV анкетирање. Стандардно е "mongodb".

tls bool

Initiates the connection with TLS/SSL if true. Стандардно е false.

tlsAllowInvalidCertificates bool

Го иницира поврзувањето со TLS/SSL ако false.

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Определува дали драјверот треба да пријави грешка кога сертификатот TLS на серверот е невалиден. Стандардно е

tlsAllowInvalidHostnames bool

Оневозможувањето на валидацијата на сертификатот создава ранливост. false.

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Определува дали драјверот треба да пријави грешка кога има несогласување помеѓу името на хостот на серверот и името на хостот наведено од TLS сертификатот. Стандардно е Оневозможувањето на валидацијата на сертификатот создава ранливост. Дозволувањето невалидни имиња на хостови може да го изложи драјверот на.

tlsCAFile string

» напад од човек посредник

tlsCertificateKeyFile string

Патека до датотека со еден или пакет сертификациски авторитети на кои треба да им се верува при воспоставување TLS врска. Системот за сертификати ќе се користи стандардно.

tlsCertificateKeyFilePassword string

Патека до датотеката со клиентски сертификат или датотеката со приватниот клуч на клиентот; во случај кога и двете се потребни, датотеките треба да се спојат. "tlsCertificateKeyFile" Лозинка за дешифрирање на приватниот клуч на клиентот (т.е.

tlsDisableCertificateRevocationCheck bool

Враќа trueURI опција) што ќе се користи за TLS врски. false.

tlsDisableOCSPEndpointCheck bool

Враќа true, драјверот нема да се обиде да ја провери состојбата на ревокација на сертификатот (на пр. OCSP, CRL). Стандардно е false.

tlsInsecure bool

, драјверот нема да се обиде да контактира со крајна точка на OCSP одговор ако е потребно (т.е. ако OCSP одговорот не е прикачен). Стандардно е true Олабавете ги TLS ограничувањата колку што е можно повеќе. Специфицирањето true за оваа опција има исто дејство како специфицирање "tlsAllowInvalidCertificates" and "tlsAllowInvalidHostnames" за двете false.

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Определува дали драјверот треба да пријави грешка кога има несогласување помеѓу името на хостот на серверот и името на хостот наведено од TLS сертификатот. Стандардно е Оневозможувањето на валидацијата на сертификатот создава ранливост. Дозволувањето невалидни имиња на хостови може да го изложи драјверот на.

username string URI опции. Стандардно е
w int|string

Соодветствува на стандардната загриженост за запишување w Корисничкото име за корисникот што се автентицира. Оваа опција е корисна ако корисничкото име содржи специјални знаци, кои инаку би требало да бидат URL кодирани за URI на врската. MongoDB\Driver\WriteConcern.

wTimeoutMS int|string

Соодветствува на стандардната загриженост за запишување wtimeout параметар. За детали, видете MongoDB\Driver\WriteConcern.

параметар. Определува временско ограничување, во милисекунди, за грижата за запишување. За детали, видете wTimeoutMS мора да биде потпишан 32-битен цел број поголем или еднаков на нула.

zlibCompressionLevel int

Ја специфицира нивото на компресија што треба да се користи за zlib компресорот. Оваа опција нема ефект ако zlib не е вклучено во "compressors" URI опцијата. Видете го » Спецификација за компресија на драјверот Користење на PHP од командната линија

driverOptions

driverOptions
Опција Тип = NULL
autoEncryption array

Обезбедува опции за овозможување на автоматско шифрирање на ниво на поле од страна на клиентот. Листата на опции е опишана во табелата подолу.

Забелешка:

Автоматското шифрирање е функција само за претпријатија што се применува само на операции на колекција. Автоматското шифрирање не е поддржано за операции на база на податоци или приказ, а операциите што не се заобиколени ќе резултираат со грешка (види » libmongocrypt: Список за дозволување на автоматско шифрирање). За да го заобиколите автоматското шифрирање за сите операции, поставете bypassAutoEncryption to true.

Автоматското шифрирање бара автентицираниот корисник да ја има » listCollections привилегирана акција.

Експлицитното шифрирање/дешифрирање и автоматското дешифрирање е функција на заедницата. Возачот сè уште може автоматски да дешифрира кога bypassAutoEncryption is true.

ca_dir string

Патека до правилно хеширана директориум со сертификати. Системот за складирање сертификати ќе се користи по дифолт.

crl_file string Патека до датотека со список за одземање на сертификати.
disableClientPersistence bool

Враќа true, овој Менаџер ќе користи нов libmongoc клиент, кој нема да биде зачуван или споделен со други Менаџер објекти. Кога овој Менаџер објект ќе биде ослободен, неговиот клиент ќе биде уништен и сите врски ќе бидат затворени. Стандардно е false.

Забелешка: Оневозможувањето на перзистентноста на клиентот генерално не се препорачува.

driver array

Овозможува повисоко ниво на библиотека да додаде свои метаподатоци на ракувањето со серверот. Стандардно, екстензијата го поднесува своето име, верзија и платформа (т.е. PHP верзија) во ракувањето. Низите можат да бидат специфицирани за "name", "version"Препорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во "platform" клучовите на овој array, и ќе бидат додадени на соодветното поле(а) во документот за ракување.

Забелешка: Информациите за ракување се ограничени на 512 бајти. Екстензијата ќе ги скрати податоците за ракување за да се вклопат во овој стринг од 512 бајти. Се охрабруваат повисоките библиотеки да ги чуваат своите метаподатоци концизни.

serverApi MongoDB\Driver\ServerApi

Оваа опција се користи за декларирање верзија на API на серверот за менаџерот. Ако се изостави, не се декларира API верзија.

Опции поддржани од автоматско шифрирање преку опцијата autoEncryption возач:

autoEncryption
Опција Тип = NULL
keyVaultClient MongoDB\Driver\Manager објект со наведените опции.
keyVaultNamespace string Целосно квалификувано име на простор (на пр. "databaseName.collectionName"Менаџерот што се користи за насочување на барањата за клучеви за податоци до посебен MongoDB кластер. Стандардно, се користи тековниот Менаџер и кластер.
kmsProviders array

) што го означува збирката што ги содржи сите клучеви за податоци што се користат за шифрирање и дешифрирање. Оваа опција е задолжителна. "aws", "azure", "gcp", "kmip"Препорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во "local" Документ што ги содржи конфигурациите за еден или повеќе KMS провајдери, кои се користат за шифрирање на клучеви за податоци. Поддржаните провајдери вклучуваат

и мора да биде наведен барем еден. "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

Форматот за "aws", "azure", "gcp"Препорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во "kmip"Документ што ги содржи TLS конфигурациите за еден или повеќе KMS провајдери. Поддржаните провајдери вклучуваат

<provider>: {
    tlsCaFile: <optional string>,
    tlsCertificateKeyFile: <optional string>,
    tlsCertificateKeyFilePassword: <optional string>,
    tlsDisableOCSPEndpointCheck: <optional bool>
}
schemaMap array|object

Мапа на простори на имиња на колекции до локална JSON шема. Ова се користи за конфигурирање на автоматско шифрирање. Погледнете » Правила за автоматско шифрирање во прирачникот на MongoDB за повеќе информации. Грешка е да се специфицира колекција и во schemaMap and encryptedFieldsMap.

Забелешка: Обезбедувањето на schemaMap обезбедува поголема безбедност отколку потпирањето на JSON шеми добиени од серверот. Штити од злонамерен сервер што рекламира лажна JSON шема, што може да го измами клиентот да испрати нешифрирани податоци што треба да бидат шифрирани.

Забелешка: Шемите обезбедени во schemaMap се применуваат само за конфигурирање на автоматско шифрирање за шифрирање од страна на клиентот. Други правила за валидација во JSON шемата нема да бидат спроведени од драјверот и ќе резултираат со грешка.

bypassAutoEncryption bool Враќа true, mongocryptd нема да се стартува автоматски. Ова се користи за оневозможување на автоматско шифрирање. Стандардно е false.
bypassQueryAnalysis bool

Враќа true, автоматската анализа на излезните команди ќе биде оневозможена и mongocryptd нема да се стартува автоматски. Ова го овозможува случајот на употреба на експлицитно шифрирање за барање индексирани полиња без потреба од лиценцирана верзија на crypt_shared библиотека или mongocryptd процес. Стандардно е false.

encryptedFieldsMap array|object

Мапа на простори на имиња на колекции до encryptedFields документ. Ова се користи за конфигурирање на можност за барање шифрирање. Погледнете » Шифрирање на полиња и можност за барање во прирачникот на MongoDB за повеќе информации. Грешка е да се специфицира колекција и во encryptedFieldsMap and schemaMap.

Забелешка: Обезбедувањето на encryptedFieldsMap обезбедува поголема безбедност отколку потпирањето на encryptedFields добиен од серверот. Штити од злонамерен сервер што рекламира лажен encryptedFields.

extraOptions array

На extraOptions се однесуваат на mongocryptd процес. Поддржани се следниве опции:

  • mongocryptdURI (string): URI за поврзување со постоечки mongocryptd процес. Стандардно е "mongodb://localhost:27020".
  • mongocryptdBypassSpawn (bool): Ако true, спречи драјверот да се стартува mongocryptd. Стандардно е false.
  • mongocryptdSpawnPath (string): Апсолутна патека за пребарување на mongocryptd бинарна. Стандардно е празен стринг и ги консултира системските патеки.
  • mongocryptdSpawnArgs (array): Низа од стринг аргументи што треба да се предадат на mongocryptd при стартување. Стандардно е ["--idleShutdownTimeoutSecs=60"].
  • cryptSharedLibPath (string): Апсолутна патека до crypt_shared споделена библиотека. Стандардно е празен стринг и ги консултира системските патеки.
  • cryptSharedLibRequired (bool): Ако true, бара драјверот да вчита crypt_shared. Стандардно е false.

Постојат голем број корисни функции за » Спецификација за шифрирање од страна на клиентот Користење на PHP од командната линија

Забелешка: Автоматското шифрирање е функција само за претпријатија што се применува само на операции на колекција. Автоматското шифрирање не е поддржано за операции на база на податоци или приказ, а операциите што не се заобиколени ќе резултираат со грешка. За да го заобиколите автоматското шифрирање за сите операции, поставете bypassAutoEncryption=true in autoEncryption. За повеќе информации за дозволените операции, видете го » Спецификација за шифрирање од страна на клиентот.

Errors/Exceptions

Дневник на промени

Верзија = NULL
(mongodb >=1.3.0)

На "canonicalizeHostname" опцијата URI беше отстранета. Користете ја "CANONICALIZE_HOST_NAME" својството на "authMechanismProperties" опцијата URI наместо тоа.

На "gssapiServiceName" опцијата URI беше отстранета. Користете ја "SERVICE_NAME" својството на "authMechanismProperties" опцијата URI наместо тоа.

На "safe" опцијата URI беше отстранета. Користете ја "w" and "wTimeoutMS" опциите URI наместо тоа.

На "ssl" опцијата URI беше отстранета. Користете ја "tls" опцијата URI наместо тоа.

На "allow_invalid_hostname" драјвер опцијата е отстранета. Користете ја "tlsAllowInvalidHostnames" опцијата URI наместо тоа.

На "ca_file" драјвер опцијата е отстранета. Користете ја "tlsCAFile" опцијата URI наместо тоа.

На "context" драјвер опцијата е отстранета. Сите опции за контекст беа укинати во корист на разните URI опции поврзани со TLS.

На "pem_file" драјвер опцијата е отстранета. Користете ја "tlsCertificateKeyFile" опцијата URI наместо тоа.

На "pem_pwd" драјвер опцијата е отстранета. Користете ја "tlsCertificateKeyFilePassword" опцијата URI наместо тоа.

На "weak_cert_validation" драјвер опцијата е отстранета. Користете ја "tlsAllowInvalidCertificates" опцијата URI наместо тоа.

ако екстензијата е компајлирана без поддршка за libmongocrypt

PECL mongodb 1.16.0 "sessionToken" AWS KMS провајдерот за шифрирање од страна на клиентот сега прифаќа

Додадено "tlsDisableOCSPEndpointCheck" на "tlsOptions" поле на "autoEncryption" опцијата драјвер.

опција, која може да се користи за автентикација со привремени AWS акредитиви. "azure" or "gcp" Ако е наведен празен документ за , драјверот ќе се обиде да го конфигурира провајдерот користејќи.

Типовите на враќање претходно декларирани како привремени сега се применуваат.

опција, која може да се користи за автентикација со привремени AWS акредитиви. "aws" Ако е наведен празен документ за , драјверот ќе се обиде да го конфигурира провајдерот користејќи.

опсег сега е опционална.

Додаден е "bypassQueryAnalysis" and "encryptedFieldsMap" опции за автоматско шифрирање. Дополнителни опции што се однесуваат на crypt_shared сега се поддржани во "extraOptions" опција за автоматско шифрирање.

PECL mongodb 1.13.0

Додаден е "srvMaxHosts" and "srvServiceName" URI опции.

Оваа класа повеќе не имплементира

KMS провајдер, драјверот ќе се обиде да го конфигурира провајдерот користејќи "kmsProviders" поле на "autoEncryption" драјвер опцијата. Дополнително, TLS опциите за KMS провајдери сега може да се конфигурираат во "tlsOptions" поле на "autoEncryption" опцијата драјвер.

PECL mongodb 1.11.0

Додаден е "loadBalanced" URI опција.

PECL mongodb 1.10.0

Додаден е "disableClientPersistence" опцијата драјвер.

Azure и GCP сега се поддржани како KMS провајдери за шифрирање од страна на клиентот и може да се конфигурираат во "kmsProviders" поле на "autoEncryption" драјвер опцијата. Низите кодирани во Base64 сега се прифаќаат како алтернатива на MongoDB\BSON\Binary за опциите во рамките на "kmsProviders".

PECL mongodb 1.8.0

Додаден е "directConnection", "tlsDisableCertificateRevocationCheck"Препорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во "tlsDisableOCSPEndpointCheck" URI опции.

Додаден е "driver" опцијата драјвер.

Враќа опцијата "wtimeout" на WriteConcern.

Додаден е "autoEncryption" опцијата драјвер.

Наведувањето на која било SSL или TLS опција преку driverOptions параметарот сега имплицитно ќе го овозможи TLS, како што се прави за соодветните URI опции.

својство рачно.

Додаден е "retryReads", "tls", "tlsAllowInvalidCertificates", "tlsAllowInvalidHostnames", "tlsCAFile", "tlsCertificateKeyFile", "tlsCertificateKeyFilePassword"Препорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во "tlsInsecure" URI опции.

На "retryWrites" URI опцијата стандардно се поставува на true.

Наведувањето на која било SSL или TLS URI опција преку низата за поврзување или uriOptions параметарот сега имплицитно ќе го овозможи TLS освен ако ssl or tls is false. TLS is not . TLS е driverOptions имплицитно овозможено за сите опции во

параметарот, кој е непроменет од претходните верзии.

"wtimeoutMS" PECL mongodb 1.5.0 "w" сега секогаш се валидира и применува на грижата за запишување. Претходно, опцијата беше игнорирана ако

на грешки при парсирање на аргументи.

Додаден е "compressors", "retryWrites"Препорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во "zlibCompressionLevel" URI опции.

за PHP 8.0+.

На uriOptions беше <= 1, бидејќи истекот се однесува само на репликацијата. "authMechanism" and "authMechanismProperties" аргументот сега прифаќа uri argument.

PECL mongodb 1.3.0

На uri опции. Претходно, овие опции беа поддржани само во "mongodb://127.0.0.1/"аргументот стандардно е 27017.

Додаден е "appname" URI опција.

Додаден е "allow_invalid_hostname", "ca_file", "ca_dir", "clr_file", "pem_file", "pem_pwd"Препорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци во "weak_cert_validation" . Стандардното пристаниште останува

опции на драјверот. "connectTimeoutMS" PHP Streams API повеќе не се користи за комуникација преку сокети. На default_socket_timeout опцијата URI сега стандардно е 10 секунди наместо SSL опции за контекст преку "context" опцијата драјвер.

во претходните верзии. Дополнително, екстензијата повеќе не поддржува сите

На uri аргументот е опционален и стандардно е "mongodb://localhost:27017/".

Примери

Пример #1 Секое пишување или барање може да фрли исклучоци за поврзување бидејќи врските се создаваат мрзливо. MongoDB сервер може исто така да стане недостапен за време на животниот век на скриптата. Затоа е важно сите дејства на Менаџерот да бидат завиткани во try/catch изјави. PECL mongodb 1.1.0

основни примери

<?php

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

?>

Поврзување со самостоен MongoDB јазол: rawurlencode().

<?php

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

?>

Поврзување со самостоен MongoDB јазол преку Unix домен сокет. Патеката на сокетот може да вклучува специјални знаци како што се коси црти и треба да биде кодирана со

<?php

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

?>

Поврзување со сет за репликација:

<?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");

?>

Поврзување со MongoDB со X509 автентикација:

<?php

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

Белешки од корисници 1 белешка

denys at bulakhweb dot com
пред 8 години
Please note, if you send socketTimeoutMs value as 0 to disable timeout (according to MongoDB documentation), it will be considered as default value which is 300,000 ms in PHP driver. So send some really huge amount in case if you need to disable limitation.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.