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

Конфигурација во време на извршување

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

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

Референца за `mysqlnd.config.php` со подобрена типографија и навигација.

mysqlnd.config.php

Конфигурација во време на извршување

Поведението на овие функции е под влијание на поставките во php.ini.

MySQL Native Driver Опции за конфигурација
Име Стандардно Променливо Дневник на промени
mysqlnd.collect_statistics "1" INI_SYSTEM    
mysqlnd.collect_memory_statistics "0" INI_SYSTEM    
mysqlnd.debug "" INI_SYSTEM    
mysqlnd.log_mask 0 INI_ALL    
mysqlnd.mempool_default_size 16000 INI_ALL    
mysqlnd.net_read_timeout "86400" INI_ALL Пред PHP 7.2.0 стандардната вредност беше "31536000" и променливоста беше INI_SYSTEM
mysqlnd.net_cmd_buffer_size "4096" INI_SYSTEM    
mysqlnd.net_read_buffer_size "32768" INI_SYSTEM    
mysqlnd.sha256_server_public_key "" INI_PERDIR    
mysqlnd.trace_alloc "" INI_SYSTEM    
mysqlnd.fetch_data_copy 0 INI_ALL Отстрането од PHP 8.1.0
За подетални информации и дефиниции на INI_* режимите, видете го Каде може да се постави поставка за конфигурација.

Еве кратко објаснување на директивите за конфигурација.

mysqlnd.collect_statistics bool
Овозможува собирање на разни статистики на клиентот до кои може да се пристапи преку mysqli_get_client_stats(), mysqli_get_connection_stats(), и се прикажуваат во mysqlnd дел од излезот на phpinfo() функцијата исто така. Оваа поставка за конфигурација овозможува сите MySQL Native Driver статистики освен оние што се однесуваат на управување со меморијата.
mysqlnd.collect_memory_statistics bool
Овозможи собирање на разни мемориски статистики до кои може да се пристапи преку mysqli_get_client_stats(), mysqli_get_connection_stats(), и се прикажуваат во mysqlnd дел од излезот на phpinfo() функцијата исто така. Оваа поставка за конфигурација ги овозможува статистиките за управување со меморијата во рамките на целокупниот сет на MySQL Native Driver статистики.
mysqlnd.debug string
Запишува комуникација од сите екстензии што користат mysqlnd до наведената датотека за лог. Форматот на директивата е mysqlnd.debug = "option1[,parameter_option1][:option2[,parameter_option2]]". Опциите за стринг со формат се како што следува:
  • A[,file] - Додава излез од трасирање во наведената датотека. Исто така, осигурува дека податоците се запишуваат по секое запишување. Ова се прави со затворање и повторно отворање на датотеката за трасирање (ова е бавно). Помага да се обезбеди комплетна датотека за лог во случај апликацијата да се сруши.
  • a[,file] - Додава излез од трасирање во наведената датотека.
  • d - Овозможува излез од DBUG_<N> макроа за моменталната состојба. Може да биде проследено со листа на клучни зборови што избираат излез само за DBUG макроата со тој клуч. Празен список на клучни зборови подразбира излез за сите макроа.
  • f[,functions] - Ги ограничува дејствата на дебагерот на наведената листа на функции. Празен список на функции подразбира дека сите функции се избрани.
  • F - Го означува секој ред со излез од дебагерот со името на изворната датотека што го содржи макрото што го предизвикува излезот.
  • i - Го означува секој ред со излез од дебагерот со PID на моменталниот процес.
  • L - Го означува секој ред од излезот на дебагерот со името на датотеката со изворниот код и бројот на редот на макрото што предизвикува излез.
  • n - Го означува секој ред од излезот на дебагерот со моменталната длабочина на вгнездување на функцијата.
  • o[,file] - Слично на a[,file] но ја презапишува старата датотека и не додава.
  • O[,file] - Слично на A[,file] но ја презапишува старата датотека и не додава.
  • t[,N] - Овозможува следење на протокот на контрола на функциите. Максималната длабочина на вгнездување е специфицирана со N, и стандардно е 200.
  • x - Оваа опција активира профилирање.
  • m - Следи повици поврзани со алокација и деалокација на меморија.
Пример:
d:t:x:O,/tmp/mysqlnd.trace

Забелешка: Оваа функција е достапна само со дебаг верзија на PHP.

mysqlnd.log_mask int
Дефинира кои прашања ќе бидат запишани. Стандардно 0, што го оневозможува запишувањето. Дефинирајте користејќи цел број, а не со PHP константи. На пример, вредност од 48 (16 + 32) ќе запише бавни прашања кои користат 'нема добар индекс' (SERVER_QUERY_NO_GOOD_INDEX_USED = 16) или воопшто нема индекс (SERVER_QUERY_NO_INDEX_USED = 32). Вредност од 2043 (1 + 2 + 8 + ... + 1024) ќе запише сите типови бавни прашања. The types are as follows: SERVER_STATUS_IN_TRANS=1, SERVER_STATUS_AUTOCOMMIT=2, SERVER_MORE_RESULTS_EXISTS=8, SERVER_QUERY_NO_GOOD_INDEX_USED=16, SERVER_QUERY_NO_INDEX_USED=32, SERVER_STATUS_CURSOR_EXISTS=64, SERVER_STATUS_LAST_ROW_SENT=128, SERVER_STATUS_DB_DROPPED=256, SERVER_STATUS_NO_BACKSLASH_ESCAPES=512, and SERVER_QUERY_WAS_SLOW=1024.
mysqlnd.mempool_default_size int
Стандардна големина на меморискиот базен на mysqlnd, кој се користи од страна на множествата на резултати.
mysqlnd.net_read_timeout int
mysqlnd и MySQL клиентската библиотека, libmysqlclient користат различни мрежни API. mysqlnd користи PHP стримови, додека libmysqlclient користи сопствен обвивач околу мрежните повици на ниво на оперативен систем. PHP, стандардно, поставува тајмаут за читање од 60s за стримови. Ова се поставува преку php.ini, default_socket_timeout. Оваа стандардна вредност се применува на сите стримови кои не поставуваат друга вредност за тајмаут. mysqlnd не поставува друга вредност и затоа конекциите на долготрајни прашања може да бидат прекинати по default_socket_timeout секунди што резултира со порака за грешка 2006 - MySQL Серверот исчезна. MySQL клиентската библиотека поставува стандарден тајмаут од 24 * 3600 секунди (1 ден) и чека да се случат други тајмаути, како што се TCP/IP тајмаути. mysqlnd сега користи ист многу долг тајм-аут. Вредноста може да се конфигурира преку нова php.ini поставка: mysqlnd.net_read_timeout. mysqlnd.net_read_timeout се користи од кое било проширување (ext/mysql, ext/mysqli, PDO_MySQL) што користи mysqlnd. mysqlnd им кажува на PHP Streams да користат mysqlnd.net_read_timeout. Ве молиме имајте предвид дека може да има суптилни разлики помеѓу MYSQL_OPT_READ_TIMEOUT од MySQL Client Library и PHP Streams, на пример MYSQL_OPT_READ_TIMEOUT е документирано дека работи само за TCP/IP конекции и, пред MySQL 5.1.2, само за Windows. PHP стримови може да ја немаат оваа граница. Ве молиме проверете ја документацијата за стримови, ако се сомневате.
mysqlnd.net_cmd_buffer_size int
mysqlnd заделува внатрешен бафер за команди/мрежа од mysqlnd.net_cmd_buffer_size (во php.ini) бајти за секоја конекција. Ако командата на протоколот MySQL Client Server, на пример, COM_QUERY (normal query), не се вклопува во баферот, mysqlnd ќе го зголеми баферот до големината потребна за испраќање на командата. Секогаш кога баферот ќе се прошири за една конекција, command_buffer_too_small ќе се зголеми за еден. Враќа mysqlnd мора да го зголеми баферот над неговата почетна големина од mysqlnd.net_cmd_buffer_size бајти за речиси секоја конекција, треба да размислите за зголемување на стандардната големина за да избегнете повторни заделувања. Стандардната големина на баферот е 4096 бајти, што е најмалата можна вредност. Вредноста може да се постави и со користење на mysqli_options(link, MYSQLI_OPT_NET_CMD_BUFFER_SIZE, size).
mysqlnd.net_read_buffer_size int
Максимална големина на парче при читање на телото на пакет со команда на MySQL. Протоколот MySQL клиент сервер ги капсулира сите свои команди во пакети. Пакетите се состојат од мал заглавие и тело со вистинскиот товар. Големината на телото е кодирана во заглавието. mysqlnd го чита телото во парчиња од MIN(header.size, mysqlnd.net_read_buffer_size) бајти. Ако телото на пакетот е поголемо од mysqlnd.net_read_buffer_size бајти, mysqlnd мора да повика read() повеќе пати. Вредноста може да се постави и со користење на mysqli_options(link, MYSQLI_OPT_NET_READ_BUFFER_SIZE, size).
mysqlnd.sha256_server_public_key string
Поврзано со SHA-256 Authentication Plugin. Датотека со јавниот RSA клуч на MySQL серверот. Клиентите можат или да го изостават поставувањето на јавен RSA клуч, да го специфицираат клучот преку оваа PHP конфигурациска поставка или да го постават клучот во време на извршување користејќи mysqli_options(). Ако клиентот не даде датотека со јавен RSA клуч, тогаш клучот ќе се размени како дел од стандардната процедура за автентикација на SHA-256 Authentication Plugin.
mysqlnd.trace_alloc string
mysqlnd.fetch_data_copy int
Наметнете копирање на множествата на резултати од внатрешните бафери за множества на резултати во PHP променливи наместо да ја користите стандардната логика за референцирање и копирање при запишување. Ве молиме, видете ги белешките за имплементација на управување со меморијата за повеќе детали. Копирањето на множествата на резултати наместо PHP променливите да се однесуваат на нив овозможува порано ослободување на меморијата зафатена од PHP променливите. Во зависност од кодот на корисничкиот API, вистинските бази на податоци и големината на нивните множества на резултати, ова може да ја намали мемориската употреба на mysqlnd. Не поставувајте ако користите PDO_MySQL. PDO_MySQL сè уште не е ажуриран за да ја поддржи новата режим на преземање.

Забелешка: Отстрането од PHP 8.1.0

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

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

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

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

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

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

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