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.MongoDB\Driver\Manager::__construct
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
MongoDB\Driver\Manager::__construct
Референца за `mongodb-driver-manager.construct.php` со подобрена типографија и навигација.
MongoDB\Driver\Manager::__construct
класата MongoDB\Driver\BulkWrite
MongoDB\Driver\Manager::__construct — Креирај нов MongoDB Менаџер
= NULL
$uri = null, ?array $uriOptions = null, ?array $driverOptions = null)(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2) MongoDB\Driver\Manager Креирај нов ClientEncryption објект
Забелешка: Според » Спецификација за откривање и следење на сервери, овој конструктор не врши никакви I/O. Врските ќе бидат иницијализирани по потреба, кога ќе се изврши првата операција.
Забелешка: Кога специфицирате било какви опции за SSL или TLS URI преку низата за поврзување или
uriOptionsпараметар, екстензијата имплицитно ќе овозможи TLS за своите врски. За да го избегнете ова, или експлицитно оневозможете гоtlsопцијата или не специфицирајте никакви TLS опции.
Забелешка: На Unix платформи, екстензијата е чувствителна на скрипти што ја користат системскиот повик fork() без истовремено да го повикаат exec(). Корисниците се советуваат да не повторно користат MongoDB\Driver\Manager инстанци во форкиран процес на дете.
Параметри
uri-
А » mongodb:// URI за поврзување:
Стандардно е
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[defaultAuthDb][?options]]
"mongodb://127.0.0.1:27017"ако не е специфицирано. За детали за поддржаните опции на URI, видете » Опции за низа за поврзување во прирачникот на MongoDB. » Опции за пул на врски не се поддржани, бидејќи екстензијата не имплементира пулови за врски. Наuriе URL, оттука било какви специјални знаци во неговите компоненти треба да бидат URL кодирани според Кодирањето се врши според. Ова е особено релевантно за корисничкото име и лозинката, кои често можат да вклучуваат специјални знаци како@,:, или%. Кога се поврзувате преку Unix домен сокет, патеката на сокетот може да содржи специјални знаци како коси црти и мора да биде кодирана. rawurlencode() функцијата може да се користи за кодирање на составните делови на URI. НаdefaultAuthDbкомпонентата може да се користи за специфицирање на името на базата на податоци поврзано со ингеренциите на корисникот; сепакauthSourceопцијата URI ќе има приоритет ако е специфицирана. Ако нитуdefaultAuthDbnorauthSourceсе специфицирани, наadminбазата на податоци ќе се користи по дифолт. НаdefaultAuthDbкомпонентата нема ефект во отсуство на кориснички акредитиви. uriOptions-
Дополнително
» Опции за низа за поврзување, што ќе пребрише било какви опции со исто име во
uriparameter.uriOptions Опција Тип = NULL appname string MongoDB 3.4+ има можност да ги анотира врските со метаподатоци обезбедени од клиентот што се поврзува. Овие метаподатоци се вклучени во логовите на серверот при воспоставување врска и исто така се запишуваат во логовите за бавни прашања кога е овозможено профилирање на базата на податоци. Оваа опција може да се користи за да се специфицира име на апликација, кое ќе биде вклучено во метаподатоците. Вредноста не може да надмине 128 знаци. authMechanism string Механизмот за автентикација што MongoDB ќе го користи за автентикација на врската. За дополнителни детали и список на поддржани вредности, видете » Опции за автентикација во прирачникот на MongoDB. authMechanismProperties array Својства за избраниот механизам за автентикација. За дополнителни детали и список на поддржани својства, видете го » Спецификација за автентикација на драјверот. Забелешка: Кога не е специфицирано во URI низата, оваа опција е изразена како низа од парови клуч/вредност. Клучевите и вредностите во оваа низа треба да бидат низи.
authSource string Името на базата на податоци поврзано со акредитивите на корисникот. Стандардно е компонентата за базата на податоци на URI за поврзување, или adminбазата на податоци ако и двете се неопределени. За механизми за автентикација кои делегираат складирање на акредитиви на други услуги (на пр. GSSAPI), ова треба да биде"$external".compressors string Приоритетна, разделена со запирки листа на компресори што клиентот сака да ги користи. Пораките се компресираат само ако клиентот и серверот споделуваат заеднички компресори, а компресорот што се користи во секоја насока ќе зависи од индивидуалната конфигурација на серверот или драјверот. Видете го » Спецификација за компресија на драјверот Користење на PHP од командната линија connectTimeoutMS int Времето во милисекунди за обид за поврзување пред истекување на времето. Стандардно е 10.000 милисекунди. directConnection bool Оваа опција може да се користи за контрола на однесувањето при откривање на реплика сет кога е обезбеден само еден хост во низата за поврзување. Стандардно, обезбедувањето на еден член во низата за поврзување ќе воспостави директна врска или ќе открие дополнителни членови во зависност од тоа дали "replicaSet"опцијата URI е изоставена или присутна, соодветно. Наведетеfalseза да се присили откривањето да се случи (ако"replicaSet"се изоставува) или наведетеtrueза да се присили директна врска (ако"replicaSet"е присутен).enableOverloadRetargeting bool Кога е поставено на trueтоа присилува избор на сервер поSystemOverloadedError. Стандардно еfalse.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 милисекунди. maxAdaptiveRetries int Оваа опција може да се користи за промена на максималниот број обиди кога се случува SystemOverloadedErrorсе случува. Мора да биде позитивен цел број; стандардно е2.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 Ја иницира врската со TLS/SSL ако 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: Список за дозволување на автоматско шифрирање). За да го заобиколите автоматското шифрирање за сите операции, поставете
bypassAutoEncryptiontotrue. Автоматското шифрирање бара автентицираниот корисник да ја има » listCollections привилегирана акција. Експлицитното шифрирање/дешифрирање и автоматското дешифрирање е функција на заедницата. Возачот сè уште може автоматски да дешифрира когаbypassAutoEncryptionistrue.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 за повеќе информации. Грешка е да се специфицира колекција и во schemaMapandencryptedFieldsMap.Забелешка: Обезбедувањето на
schemaMapобезбедува поголема безбедност отколку потпирањето на JSON шеми добиени од серверот. Штити од злонамерен сервер што рекламира лажна JSON шема, што може да го измами клиентот да испрати нешифрирани податоци што треба да бидат шифрирани.Забелешка: Шемите обезбедени во
schemaMapсе применуваат само за конфигурирање на автоматско шифрирање за шифрирање од страна на клиентот. Други правила за валидација во JSON шемата нема да бидат спроведени од драјверот и ќе резултираат со грешка.bypassAutoEncryption bool Враќа true,mongocryptdнема да се стартува автоматски. Ова се користи за оневозможување на автоматско шифрирање. Стандардно еfalse.bypassQueryAnalysis bool Враќа true, автоматската анализа на излезните команди ќе биде оневозможена иmongocryptdнема да се стартува автоматски. Ова го овозможува случајот на употреба на експлицитно шифрирање за барање индексирани полиња без потреба од лиценцирана верзија наcrypt_sharedбиблиотека илиmongocryptdпроцес. Стандардно еfalse.encryptedFieldsMap array|object Мапа на простори на имиња на колекции до encryptedFieldsдокумент. Ова се користи за конфигурирање на можност за барање шифрирање. Погледнете » Шифрирање на полиња и можност за барање во прирачникот на MongoDB за повеќе информации. Грешка е да се специфицира колекција и воencryptedFieldsMapandschemaMap.Забелешка: Обезбедувањето на
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.
Забелешка: Автоматското шифрирање е функција само за претпријатија што се применува само на операции на колекција. Автоматското шифрирање не е поддржано за операции на база на податоци или приказ, а операциите што не се заобиколени ќе резултираат со грешка. За да го заобиколите автоматското шифрирање за сите операции, поставете
bypassAutoEncryption=trueinautoEncryption. За повеќе информации за дозволените операции, видете го » Спецификација за шифрирање од страна на клиентот.
Errors/Exceptions
- ). Ако повикот не успее, ќе врати MongoDB\Driver\Exception\InvalidArgumentException » Промени текови
- ). Ако повикот не успее, ќе врати MongoDB\Driver\Exception\RuntimeException ако
uriформатот е невалиден
Дневник на промени
| Верзија | = 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" опцијата драјвер.
|
| (mongodb >=1.4.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 е 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",
]
);
?>