我试图让mysqlnd_ms (master_slave)插件运行,但是接收配置文件包含的错误和意外的括号。为了确保我没有损坏任何东西,我在一个新安装上复制了这个错误。这两个安装都是Ubuntu12.04-LTS,使用的是打包的PHP-5.3.10,并且运行在Apache的模块中。因为php5-dev包不包含mysqlnd的标头,所以我不得不跳过一些环来让PECL安装这个包。
我正在遵循MySQL网站20.7.6.4.快速启动和示例的指南
以下是我所看到的错误:
root@mysqlndms:~# php -v
PHP: syntax error, unexpected '{' in /etc/php5/cli/conf.d/mysqlnd_ms_plugin.ini on line 1
PHP 5.3.10-1ubuntu3.6 with Suhosin-Patch (cli) (built: Mar 11 2013 14:34:31)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
root@mysqlndms:~#这是.ini文件的内容:
root@mysqlndms:~# cat /etc/php5/cli/conf.d/mysqlnd_ms_plugin.ini
{
"myapp": {
"master": {
"master_0": {
"host": "localhost"
}
},
"slave": [
]
}
}
root@mysqlndms:~#这个.ini文件是直接从MySQL的教程中复制的。
为了完整起见,下面是我为了构建PECL包而不得不跳过的环:
cd /usr/local/src/
apt-get source php5
cd php5-5.3.10/ext/
cp -a mysqlnd/ /usr/include/php5/ext/
cd /usr/local/src/php5-5.3.10/ext/mysqlnd/
mv config9.m4 config.m4
sed -ie "s{ext/mysqlnd/php_mysqlnd_config.h{config.h{" mysqlnd_portability.h
phpize
cp -a mysqlnd_portability.h /usr/include/php5/ext/mysqlnd/
pecl install mysqlnd_ms我真的不知所措,不知从哪里出发,我会喜欢在正确的方向上轻轻地推动。我不怕从源代码编译,但如果可能的话,我真的很想使用这些包。
谢谢!
发布于 2013-03-26 17:49:00
mysqlnd_ms_plugin.ini不是php配置文件。在php配置文件中放置:
mysqlnd_ms.enable=1
mysqlnd_ms.config_file=/path/to/mysqlnd_ms_plugin.ini如果/path/to/不是/etc/php5/cli/conf.d/或其他任何地方,php就会读取ini文件。
https://serverfault.com/questions/491218
复制相似问题