Я установил php5-mysqlnd через:
apt-get install php5-mysqlnd
Это совершенно новая девственная установка Debian с apache2 и php5 через:
apt-get install apache2
echo "deb http://http.us.debian.org/debian unstable main contrib non-free" >> /etc/apt/sources.list
apt-get update
apt-get install php5 php5-dev php5-cli libapache2-mod-php5 php5-mysqlnd
Когда я выполняю phpinfo (), он показывает, что используется mysqlnd.
Мой вопрос: где мне разместить детали конфигурации, чтобы указать детали ведущего / ведомого, чтобы я мог использовать автоматическую балансировку нагрузки и разделение чтения / записи?
Я читал и следил: http://www.php.net/manual/en/mysqlnd-ms.quickstart.configuration.php
Я добавил:
mysqlnd_ms.enable=1
mysqlnd_ms.config_file=/etc/php5/mysqlnd_ms_plugin.ini
К /etc/php5/conf.d/10-mysqlnd.ini
Что теперь гласит:
; configuration for php MySQL module
; priority=10
extension=mysqlnd.so
mysqlnd_ms.enable=1
mysqlnd_ms.config_file=/etc/php5/mysqlnd_ms_plugin.ini
К сожалению, эти настройки, похоже, не имеют никакого значения, поскольку я не могу выполнить mysql_connect (), используя имя хоста «myapp» в качестве имени раздела, которое я настроил в /etc/php5/mysqlnd_ms_plugin.ini как:
{
"myapp": {
"master": {
"master_0": {
"host": "127.0.0.1",
"port": "3306"
}
},
"slave": {
"slave_0": {
"host": "10.0.0.1",
"port": "3306"
}
}
}
}
Может ли кто-нибудь пролить свет на то, где я ошибся с конфигурацией, и что я могу сделать, чтобы она работала, чтобы я мог подключиться с помощью разделения чтения / записи с использованием моих реплицированных БД?
РЕДАКТИРОВАТЬ: после комментария ниже я понял, что на самом деле не добавил плагин mysqlnd_ms. После попытки установить этот плагин через pecl я получаю сообщение об отсутствии mysqlnd.h.
вам нужен не только php5-mysqlnd, но и плагин mysqlnd_ms (http://pecl.php.net/package/mysqlnd_ms) установлены.
Поэтому после получения ошибок об отсутствии mysqlnd.h я переключился на репозитории DotDeb и перестроил облачный сервер с нуля. После этого плагин скомпилирован.