我正在尝试设置mysqlnd_ms,这样它就可以在从数据库上执行读取操作,在主数据库上执行写入操作。但是,当httpd重新启动时,我得到了这个错误。
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/mysqlnd_ms.so' - /usr/lib64/php/modules/mysqlnd_ms.so: undefined symbol: mysqlnd_global_stats in Unknown on line 0我正在运行一个亚马逊EC2 x64 AMI实例,并在一个新实例上运行了以下命令:
sudo yum update
sudo yum install -y gcc make gcc-c++
sudo yum install -y httpd24 php54
sudo yum install -y php54-devel php54-mysqlnd php54-mbstring
sudo pecl install mysqlnd_ms
php -m | grep mysql我的php.ini添加了以下内容:
mysqlnd_ms.enable=1
mysqlnd_ms.force_config_usage=1
mysqlnd_ms.config_file=/etc/mysqlnd_ms.ini
extension=mysqlnd_ms.somysqlnd_ms.ini文件包含以下内容:
{
"appname": {
"master": {
"master_0": {
"host": "1.2.3.4",
"db": "dbname",
"user": "dbuser",
"password": "dbpswd",
"socket" : "\/var\/lib\/mysql\/mysql.sock"
}
},
"slave": {
"slave_0": {
"host": "12.22.32.42",
"db": "dbname",
"user": "dbuser",
"password": "dbpswd",
"socket" : "\/var\/lib\/mysql\/mysql.sock"
}
}
}
}为了建立联系,我这样做:
$mysqli = new mysqli("appname", "dbuser", "dbpswd", "schema");执行上述操作会抛出以下错误:
ERROR: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not knownMysqli、mysql和pdo都在服务器上启用。
如果我们直接将其更改为主机名,它将起作用:
$mysqli = new mysqli("1.2.3.4", "dbuser", "dbpswd", "schema");怎样才能让mysqlnd_ms正常工作?
发布于 2013-07-23 05:50:26
问题解决了!
要解决此问题:
mysqlnd_ms.enable=1
mysqlnd_ms.force_config_usage=1
mysqlnd_ms.config_file=/etc/mysqlnd_ms_cfg.ini
extension=mysqlnd_ms.so
从php.ini文件
https://stackoverflow.com/questions/17795500
复制相似问题