Настройка во время выполнения
Поведение этих функций зависит от установок в 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
позволит плагину использовать несколько мастер-серверов, вместо использования только одного, первого из списка, сервера.Подробнее читайте тут - поддерживаемые кластеры.