我只是将 Couchbase 2.0beta 更改为使用 Views。所以,我按照官方手册构建 couchbase php extsion。首先,安装纯 RHEL 6.2。然后,安装 couchbase-server-2.0.0-1723 和 libcouchbase 中的所有依赖包:
libcouchbase2-dummy-2.0.0beta2-1.x86_64
couchbase-server-2.0.0-1723.x86_64
libcouchbase2-2.0.0beta2-1.x86_64
libcouchbase-devel-2.0.0beta2-1.x86_64
libev-4.03-3.el6.x86_64
libevent-1.4.13-1.el6.x86_64
解压php-ext-couchbase-1.1.0-dp5-centos62-x86_64.tar.gz,复制couchbase.so到/usr/lib64/php/modules/,编辑/etc/php.d/json.ini:
extension=json.so
extension=couchbase.so
最后,重新启动 HTTP Server。然后,通过以下方式检查 couchbase 模块是否正确:
php -m|grep couchbase
phpinfo() 可以输出 couchbase 版本为 1.1.0-dp5。一切看起来都很好,但我尝试运行 php 代码:
<?php
$cb = new Couchbase("127.0.0.1:8091",'Administrator','redflag','default');
$cb->set('a',1);
这是错的:
$ php getview.php
PHP Warning: Couchbase::__construct(): failed to create IO instance in /var/www/html/getview.php on line 2
PHP Warning: Couchbase::set(): unintilized couchbase in /var/www/html/getview.php on line 3
为了检查 couchbase 设置是否正确,我以管理员身份打开 Couchbase GUI 作为用户名,redflag 作为密码。然后,创建新文档,使用 REST API 获取项目或视图。这些都可以,没问题,除了 php 代码。
没有其他出路,我从https://github.com/couchbase/php-ext-couchbase获取。构建新的 php-couchbase extsion,然后尝试 agin。但问题是一样的。
我发现有人在这里和这个有同样的错误。不幸的是没有解决方案。如何使用 php-ext-couchbase 1.1dp5 模块?THX。