Назад | Перейти на главную страницу

PHP mysqlnd в Debian 6

Я установил 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 и перестроил облачный сервер с нуля. После этого плагин скомпилирован.