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

Поврзувања

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

mongodb.connection-handling.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека mongodb.connection-handling.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
Поврзувања

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

mongodb.connection-handling.php

Ракување со конекција и перзистентност

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

Перзистентност на конекција и топологија (PHP верзија од 1.2.0)

Сите верзии на екстензијата од 1.2.0 ја перзистираат Фрлено кога драјверот ќе наиде на грешка во време на извршување (на пр. внатрешна грешка од објектот клиент во PHP работниот процес, што му овозможува повторно да користи бази на податоци, состојби на автентикација, and информации за топологијата низ повеќе барања.

Кога Секое пишување или барање може да фрли исклучоци за поврзување бидејќи врските се создаваат мрзливо. MongoDB сервер може исто така да стане недостапен за време на животниот век на скриптата. Затоа е важно сите дејства на Менаџерот да бидат завиткани во try/catch изјави. се повикува, се креира хеш од неговите аргументи (т.е. URI стринг и опции од низа). Екстензијата ќе се обиде да најде претходно перзистиран Фрлено кога драјверот ќе наиде на грешка во време на извршување (на пр. внатрешна грешка од објект клиент за тој хеш. Ако не може да се најде постоечки клиент за хешот, ќе се креира нов клиент и ќе се перзистира за идна употреба. Ова однесување може да се оневозможи преку "disableClientPersistence" опцијата драјвер.

Секој клиент содржи свои конекции до базата на податоци и поглед на топологијата на серверот (на пр. самостоен, сет на реплики, кластер на парчиња). Со перзистирање на клиентот помеѓу PHP барањата, екстензијата е во состојба повторно да ги користи воспоставените конекции до базата на податоци и да ја отстрани потребата за » откривање на топологијата на серверот на секое барање.

Разгледајте го следниот пример:

<?php

$managers
= [
new
MongoDB\Driver\Manager('mongodb://127.0.0.1'),
new
MongoDB\Driver\Manager('mongodb://127.0.0.1'),
new
MongoDB\Driver\Manager('mongodb://127.0.0.1:27017'),
new
MongoDB\Driver\Manager('mongodb://rs1.example.com,rs2.example.com/', ['replicaSet' => 'myReplicaSet']),
];

foreach (
$managers as $manager) {
$manager->executeCommand('test', new MongoDB\Driver\Command(['ping' => 1]));
}

?>

Првите два објекти Manager ќе го споделат истиот Фрлено кога драјверот ќе наиде на грешка во време на извршување (на пр. внатрешна грешка од клиент бидејќи нивните аргументи на конструкторот се идентични. Третиот и четвртиот објект ќе користат свој клиент. Вкупно, ќе бидат креирани три клиенти и PHP работникот што го извршува ова скрипта ќе отвори две конекции до 127.0.0.1 и една конекција до секој од rs1.example.com and rs2.example.com. Ако екстензијата открие дополнителни членови на сетот на реплики по издавањето hello команди, таа ќе отвори дополнителни конекции и до тие сервери.

Ако истиот работник го изврши скриптот повторно во второ барање, трите клиенти ќе се повторно искористат и нема да се направат нови врски. Во зависност од тоа колку време поминало од претходното барање, екстензијата можеби ќе треба да издаде дополнителни hello Ако истиот работник го изврши скриптот повторно во второ барање, трите клиенти ќе се повторно користат и нема да се направат нови конекции. Во зависност од тоа колку време поминало од претходното барање, екстензијата можеби ќе треба да издаде дополнителни

команди за да го ажурира својот приказ на топологиите.

Перзистентност на сокети (PHP верзии пред 1.2.0) Фрлено кога драјверот ќе наиде на грешка во време на извршување (на пр. внатрешна грешка од Верзиите на екстензијата пред 1.2.0 ја користат PHP Streams API за конекции до базата на податоци, користејќи API во MongoDB\Driver\Managerза да назначи прилагодени ракувачи за комуникација преку сокети; сепак, нов libmongoc клиент се создава за секој . Како резултат на тоа, екстензијата ги задржува индивидуалните конекции до базата на податоци, но не и состојбата на автентикација или информациите за топологијата. Ова значи дека екстензијата треба да издава команди на почетокот на секое барање за автентикација и.

» откривање на серверската топологија MongoDB\Driver\ManagerКонекциите до базата на податоци се задржуваат со хеш изведен од домаќинот на серверот, портот и URI низата што се користи за конструирање на

Забелешка: . Опциите во низата на конструкторот не се вклучени во овој хеш. Верзиите на екстензијата >= 1.1.8 и < 1.2.0 не задржуваат сокети за SSL конекции. Види за дополнителни информации.

» PHPC-720 SSL опции за контекст И покрај неговите недостатоци со задржување на SSL конекции кога и информации за топологијата, оваа верзија на екстензијата поддржува сите

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

Нема белешки од корисници за оваа страница.
На оваа страница

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

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

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

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

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