Поведение этих функций зависит от установок в 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
integer
Включает или выключает плагин. Если выключено, то это расширение не будет встроено в mysqlnd для проксирования внутренних вызовов mysqlnd C API.
mysqlnd_ms.force_config_usage
integer
Если включено, плагин проверяет, соответствует ли значение параметра хоста (сервера) любого подключения к 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
integer
Разрешает или запрещает сбор статистики. По умолчанию сбор статистики отключен из-за воздействия на производительность. Статистику можно получить с помощью функции mysqlnd_ms_get_stats().
mysqlnd_ms.multi_master
integer
Разрешает или запрещает поддержку конфигурации MySQL с несколькими мастер-серверами (multi master). Подробнее читайте тут - поддерживаемые кластеры.
mysqlnd_ms.disable_rw_split
integer
Включает или отключает встроенное разделение чтения и записи.
Определяет, будет ли использоваться распределение нагрузки и функционал ленивого соединения для разделения операций чтения и записи. Если разделение чтения и записи запрещено, то для запуска запросов будут использоваться сервера только из списка мастеров, а все подчиненные (slave) сервера будут игнорироваться.
SQL-хинты MYSQLND_MS_USE_SLAVE не будут обрабатываться. Все запросы будут переодресованы на мастер-сервера.
Запрещение разделения чтения и записи влияет на возвращаемое значение функции mysqlnd_ms_query_is_select(). Функции будет запрещено использовать подчиненные сервера.
Замечание: Сервера с несколькими мастерами (Multiple master)
Установка mysqlnd_ms.multi_master=1 позволит плагину использовать несколько мастер-серверов, вместо использования только одного, первого из списка, сервера.
Подробнее читайте тут - поддерживаемые кластеры.