Конфигурација во време на извршување
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Конфигурација во време на извршување
Референца за `oci8.configuration.php` со подобрена типографија и навигација.
Конфигурација во време на извршување
Поведението на овие функции е под влијание на поставките во php.ini.
| Име | Стандардно | Променливо | Дневник на промени |
|---|---|---|---|
| oci8.connection_class | "" | INI_ALL |
|
| oci8.default_prefetch | "100" | INI_SYSTEM |
|
| oci8.events | Исклучено | INI_SYSTEM |
|
| oci8.max_persistent | "-1" | INI_SYSTEM |
|
| oci8.old_oci_close_semantics | Исклучено | INI_SYSTEM |
Застарено од PHP 7.4.0. |
| oci8.persistent_timeout | "-1" | INI_SYSTEM |
|
| oci8.ping_interval | "60" | INI_SYSTEM |
|
| oci8.prefetch_lob_size | "0" | INI_SYSTEM |
Достапно од PECL OCI8 3.2. |
| oci8.privileged_connect | Исклучено | INI_SYSTEM |
|
| oci8.statement_cache_size | "20" | INI_SYSTEM |
Еве кратко објаснување на директивите за конфигурација.
-
oci8.connection_classstring -
Овој текст дефиниран од корисникот секогаш треба да биде поставен кога се користи Oracle Database Resident Connection Pooling (DRCP). Овозможува под-партиционирање на DRCP конекцискиот базен, дозволувајќи им на OCI8 постојаните врски од апликацијата да користат бази на податоци од претходен PHP скрипт, давајќи подобра скалабилност. Кога апликацијата користи процес од базен на базата на податоци што претходно бил користен со различна класа на врска, поставките на сесијата како што е стандардниот формат на датум на Oracle се ресетираат. Ова спречува случајно споделување на информации помеѓу различни апликации.
Вредноста може да се постави во време на извршување со ini_set() пред поврзување.
За да се користи DRCP, OCI8 мора да биде поврзан со Oracle 11g (или понова) библиотека и базата на податоци мора да биде Oracle 11g (или понова). DRCP конекцискиот базен мора да биде овозможен во базата на податоци,
oci8.connection_classтреба да биде поставен на ист стринг за сите веб-сервери што ја користат истата апликација, а OCI8 стринг за поврзување мора да специфицира користење на базен сервер. Апликацијата треба да користи постојани врски. -
oci8.default_prefetchint -
Оваа опција ја поставува стандардната бројка на дополнителни редови што автоматски ќе бидат преземени и кеширани секогаш кога ќе се направи барање на ниско ниво за податоци од базата на податоци. Поставувањето на вредност од
0го исклучува преземањето.Вредноста на преземањето не ја менува бројката на редови што функциите како oci_fetch_array() ги враќаат на корисникот; преземањето и кеширањето на редовите се управуваат внатрешно во OCI8.
Вредноста може да се постави по изјава со oci_set_prefetch() пред извршување на изјавата.
Претходното преземање не е поддржано кога прашањата содржат LONG или LOB колони. Вредноста за претходно преземање се игнорира и ќе се користат преземања на еден ред во сите ситуации кога претходното преземање не е поддржано.c (или понова), вредноста на преземањето поставена од PHP може да биде надмината од клиентот на Oracle
oraaccess.xml, вредноста за претходно преземање поставена од PHP може да биде надмината од конфигурациската датотека на клиентот на Oracle. Погледнете ја документацијата на Oracle за повеќе детали.Забелешка: Поголемото преземање може да резултира со подобрени перформанси, по цена на зголемена употреба на меморија. За прашања што враќаат големи количини на податоци, придобивката во перформансите може да биде значајна.
-
oci8.eventsbool -
Пронајдете и отворете ја конфигурациската датотека на Apache. Стандардно, локацијата е како што следува:
Onму дозволува на PHP да биде известен за настани за брзо известување на апликации (FAN) на базата на податоци.Без FAN, кога инстанца на базата на податоци или машински јазол неочекувано откажува, PHP апликациите може да бидат блокирани чекајќи одговор од базата на податоци додека не истече TCP тајмаутот. Со FAN настани, PHP апликациите брзо се известуваат за откажувања што влијаат на нивните воспоставени врски со базата на податоци. OCI8 екстензијата ќе ги исчисти неупотребливите врски во кешот за постојани врски.
Кога користите
On, базата на податоци исто така мора да биде конфигурирана да објавува FAN настани.FAN поддршката е достапна кога OCI8 е поврзан со Oracle 10gR2 (or later) libraries and connected to Oracle Database 10gR2 (или понова верзија) библиотеки и поврзани со Oracle Database 10
-
oci8.max_persistentint -
R2 (или понова верзија).
-
oci8.old_oci_close_semanticsbool -
Максималниот број на постојани OCI8 врски по PHP процес. Поставувањето на оваа опција на -1 значи дека нема ограничување. oci_close() Оваа опција контролира oci_close() однесување. Овозможувањето значи дека нема да направи ништо; врската нема да биде затворена до крајот на скриптата. Ова е само за компатибилност со претходните верзии. Ако откриете дека треба да ја овозможите оваа поставка, вие сте силно охрабрени oci_close() да ги прилагодите
-
oci8.persistent_timeoutint -
повиците во вашата апликација наместо да ја овозможите оваа опција. oci_close().
Забелешка: Максималниот број на секунди што е дозволено PHP процесот да задржи отворена неактивна постојана врска. Поставувањето на оваа опција на -1 значи дека неактивните постојани врски ќе се задржат додека PHP процесот не заврши или врската не се затвори експлицитно соg Во PHP, истекот на неактивни ресурси не се базира на аларм. Се случува кога PHP завршува со обработка на скрипта и го проверува времето на последно користење на ресурсите. Оттука постои парадокс што неактивните врски можат да бидат затворени само кога има некаква активност (иако не нужно поврзана со OCI8) во PHP процесот. Ако има повеќе од еден PHP процес, тогаш секој мора поединечно да биде активиран за да се активира истекот на неговите неактивни ресурси. Воведувањето на Database Resident Connection Pooling (DRCP) во Oracle 11
oci8.max_persistentandoci8.persistent_timeoutги решава проблемите со меморијата и ресурсите што -
oci8.ping_intervalint -
претходно се обидуваше да ги надмине. oci_pconnect()Бројот на секунди што мора да поминат пред издавање на ping за време на oci_pconnect() . Ping-от осигурува дека врската со базата на податоци е валидна. Кога е поставено на 0, постојаните врски ќе се ping-уваат секој пат кога
Забелешка: ќе се повика. За целосно да се оневозможат ping-овите, поставете ја оваа опција на -1. oci_pconnect() Оневозможувањето на ping-овите дозволува oci_pconnect() да работи со највисока ефикасност, но PHP можеби нема да може да открие неупотребливи врски, како што се предизвикани од прекин на мрежата, или ако Oracle базата на податоци е падната откако PHP се поврзал, додека врската не се користи подоцна во скриптата. Консултирајте се со
-
oci8.prefetch_lob_sizeint -
документацијата за повеќе информации.
и за секое последователно барање за внатрешно преземање до базата на податоци. Зголемувањето на оваа вредност може да ја подобри перформансата на преземање помали LOB со намалување на повратните патувања помеѓу PHP и базата на податоци. Употребата на меморија ќе се промени.
OCI_RETURN_LOBS.Вредноста може да се постави по изјава со oci_set_prefetch_lob() пред извршување на изјавата.
Забелешка: Use with Oracle Database 12.2 or later.
-
oci8.privileged_connectbool -
Користете со Oracle Database 12.2 или понова верзија.
OCI_SYSOPERorOCI_SYSDBA.Забелешка: Оваа опција дозволува конекциите да користат привилегирани екстерни акредитиви
OnПоставувањето на ова -
oci8.statement_cache_sizeint -
може да им овозможи на скриптите на веб-серверите што работат со соодветни привилегии на корисникот на ОС да се поврзат како привилегирани корисници на базата на податоци без потреба од лозинка за базата на податоци. Ова може да претставува безбедносен ризик.
Оваа опција овозможува кеширање на изјави и специфицира колку изјави да се кешираат. За да го оневозможите кеширањето на изјави, едноставно поставете ја оваа опција на 0.
Кеширањето на изјави ја отстранува потребата за пренос на текстот на изјавата до базата на податоци и ја отстранува потребата за пренос на какви било метаподатоци за изјавата назад до PHP. Ова може значително да ја подобри вкупната перформанса на системот во апликациите што повторно ги користат изјавите во текот на животниот век на конекцијата. Некои дополнителни "курсори" на базата на податоци може да останат отворени под претпоставка дека изјавите ќе се користат повторно.
Поставете ја оваа вредност на големината на работниот сет на изјави што ги користи вашата апликација. Поставувањето премногу мала вредност може да предизвика исфрлање на изјавите од кешот пред да се користат повторно.
Претходното преземање не е поддржано кога прашањата содржат LONG или LOB колони. Вредноста за претходно преземање се игнорира и ќе се користат преземања на еден ред во сите ситуации кога претходното преземање не е поддржано.c Оваа опција е најкорисна со постојани конекции.
oraaccess.xml(или понова верзија), оваа вредност може да биде надмината и автоматски прилагодена од клиентот на Oracle