我已经通过安装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。
我的问题是,我在哪里放置configuration详细信息来指定主/从属的细节,所以我可以使用自动负载平衡和读/写分裂?
我已阅读并遵循: 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
不幸的是,这些设置似乎没有任何区别,因为我不能使用主机名“myapp”作为我在/etc/php5/mysqlnd_ms_plugin.ini中configuration的部分名称来执行mysql_connect():
{ "myapp": { "master": { "master_0": { "host": "127.0.0.1", "port": "3306" } }, "slave": { "slave_0": { "host": "10.0.0.1", "port": "3306" } } } }
任何人都可以阐明我在哪里出错了configuration,我可以做些什么来让它工作,所以我可以连接使用读/写分裂使用我复制的数据库?
编辑:在下面的评论后,我意识到我实际上并没有添加mysqlnd_ms插件。 试图通过pecl安装这个插件后,我得到一个有关mysqlnd.h缺less的错误。
你不仅需要php5-mysqlnd,还需要安装mysqlnd_ms插件( http://pecl.php.net/package/mysqlnd_ms )。
所以在得到有关缺lessmysqlnd.h的错误之后,我切换到了DotDeb仓库,从头开始重新构build了云服务器。 之后,该插件编译。