Поведение этих функций зависит от установок в php.ini.
Имя | По умолчанию | Место изменения | Список изменений |
---|---|---|---|
mysqlnd_ms.enable | 0 | PHP_INI_SYSTEM | |
mysqlnd_ms.force_config_usage | 0 | PHP_INI_SYSTEM | |
mysqlnd_ms.ini_file | "" | PHP_INI_SYSTEM | |
mysqlnd_ms.config_file | "" | PHP_INI_SYSTEM | |
mysqlnd_ms.collect_statistics | 0 | PHP_INI_SYSTEM | |
mysqlnd_ms.multi_master | 0 | PHP_INI_SYSTEM | |
mysqlnd_ms.disable_rw_split | 0 | PHP_INI_SYSTEM |
Краткое разъяснение конфигурационных директив.
mysqlnd_ms.enable
int
Включает или выключает плагин. Если выключено, то это расширение не будет встроено в mysqlnd для проектирования внутренних вызовов mysqlnd C API.
mysqlnd_ms.force_config_usage
int
Если включено, плагин проверяет, соответствует ли значение параметра хоста (сервера) любого подключения к MySQL имени раздела из файла конфигурации плагина. Если нет, попытка подключения будет заблокирована.
Эта настройка полезна не только для жёсткого ограничения PHP определёнными
серверами, но и для отладки проблем с конфигурационным файлом.
Корректность конфигурационного файла проверяется на двух этапах. Первая
проверка происходит при начале обработки веб-запроса PHP. В этот момент
плагин читает и декодирует конфигурационный файл. Ошибки выброшенные на
этом раннем этапе жизненного цикла расширения могут показываться пользователю
некорректно. Поэтому плагин их забуферизует и сможет вывести на этапе
подключения к MySQL. По умолчанию, ошибки, забуферизированные на момент
старта, породят ошибки уровня E_WARNING
. Если
force_config_usage
установлена, то будет использован тип
E_RECOVERABLE_ERROR
.
Пожалуйста прочтите раздел замечания по отладке конфигурационного файла.
mysqlnd_ms.ini_file
string
Конфигурационный файл плагина. В версии 1.4.0 эта настройка
была переименована в mysqlnd_ms.config_file
.
mysqlnd_ms.config_file
string
Конфигурационный файл плагина. С версии 1.4.0
заменяет mysqlnd_ms.ini_file
.
mysqlnd_ms.collect_statistics
int
Разрешает или запрещает сбор статистики. По умолчанию сбор статистики отключён из-за воздействия на производительность. Статистику можно получить с помощью функции mysqlnd_ms_get_stats().
mysqlnd_ms.multi_master
int
Разрешает или запрещает поддержку конфигурации MySQL с несколькими мастер-серверами (multi master). Подробнее читайте тут - поддерживаемые кластеры.
mysqlnd_ms.disable_rw_split
int
Включает или отключает встроенное разделение чтения и записи.
Определяет, будет ли использоваться распределение нагрузки и функционал ленивого соединения для разделения операций чтения и записи. Если разделение чтения и записи запрещено, то для запуска запросов будут использоваться сервера только из списка мастеров, а все подчинённые (slave) сервера будут игнорироваться.
SQL-хинты MYSQLND_MS_USE_SLAVE
не будут обрабатываться.
Все запросы будут переадресованы на мастер-сервера.
Запрещение разделения чтения и записи влияет на возвращаемое значение функции mysqlnd_ms_query_is_select(). Функции будет запрещено использовать подчинённые сервера.
Замечание: Сервера с несколькими мастерами (Multiple master)
Установка
mysqlnd_ms.multi_master=1
позволит плагину использовать несколько мастер-серверов, вместо использования только одного, первого из списка, сервера.Подробнее читайте тут - поддерживаемые кластеры.