无法创建Couchbase的IO实例

时间:2012-11-12 16:23:49

标签: php couchbase

我只是使用Views.So更改Couchbase 2.0beta,我按照offical manual构建了couchbase php extsion。 首先,安装纯RHEL 6.2。然后,从libcouchbase安装couchbase-server-2.0.0-1723和所有相关软件包:

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.Then,检查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获取项目或Views.Those的东西都没关系,没问题,除了PHP代码

没有其他出路,我从https://github.com/couchbase/php-ext-couchbase开始。构建新的php-couchbase extsion,并尝试agin.But问题是一样的。

我发现有人在here&amp; this。遗憾的是没有解决方案。 我怎样才能使用php-ext-couchbase 1.1dp5模块?THX。

2 个答案:

答案 0 :(得分:1)

乍一看,似乎正确加载了couchbase扩展。这里可能出错的是如何访问你的桶。

如果您没有进行任何更改,“默认”存储桶没有与之关联的密码,通常存储桶的用户就是存储桶名称本身。因此,对于“默认”存储桶,它看起来像这样:

$client = new Couchbase("127.0.0.1:8091", "default", "", "");

如果您定义了密码:

$client = new Couchbase("127.0.0.1:8091", "bucketname", "", "password");

希望这有帮助, 迈克尔

答案 1 :(得分:1)

使用yum安装 libcouchbase2-libevent 包可以解决这个问题。 顺便说一句,你运行yum install libcouchbase-devel ,它不包括libcouchbase2-libevent。如果你错过了,你也可以制作&amp;安装php-ext-couchbase模块没有错误。但是你无法在php中连接Couchbase,如上面的记忆。