mysqlnd_ms 配置文件失败,出现“意外的‘{’”

mysqlnd_ms 配置文件失败,出现“意外的‘{’”

我正在尝试运行 mysqlnd_ms (master_slave) 插件,但收到配置文件包含意外括号的错误。为了确保没有损坏任何内容,我在全新安装中复制了此错误。两个安装都是使用打包的 PHP-5.3.10 的 Ubuntu 12.04-LTS,并通过 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

我真的不知道从这里该往哪里走,希望能得到正确的指导。我不怕从源代码编译,但如果可能的话,我真的很想使用这些软件包。

谢谢!

答案1

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 文件。

相关内容