【问题标题】:Failed to create IO instance of Couchbase未能创建 Couchbase 的 IO 实例
【发布时间】:2012-11-12 16:23:49
【问题描述】:

我只是将 Couchbase 2.0beta 更改为使用 Views。所以,我按照 offical manual 构建 couchbase php 扩展。 首先,安装一个纯 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。初始化:

extension=json.so
extension=couchbase.so

最后,重启 HTTP 服务器。然后,检查 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。但问题是一样的。

我发现有人在herethis 上遇到了同样的错误。不幸的是,没有解决方案。 如何使用 php-ext-couchbase 1.1dp5 模块?THX。

【问题讨论】:

    标签: php couchbase


    【解决方案1】:

    乍一看,它似乎正确加载了沙发底座扩展。这里可能出错的是如何访问您的存储桶。

    如果您未进行任何更改,则“默认”存储桶没有与之关联的密码,通常存储桶的用户就是存储桶名称本身。所以在“默认”存储桶的情况下,它看起来像这样:

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

    如果您定义了密码:

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

    希望这会有所帮助, 迈克尔

    【讨论】:

    • 对不起,这行不通。但我已经找到了原因。因为我的系统错过了没有文档提及的 libcouchbase2-libevent 包。
    【解决方案2】:

    使用yum安装libcouchbase2-libevent包可以解决这个问题。 顺便说一句。当你运行 yum install libcouchbase-devel 时,它不包括 libcouchbase2-libevent。如果你错过了,你也可以毫无错误地制作和安装 php-ext-couchbase 模块。但是你无法在 php 中连接 Couchbase,如上所述。

    【讨论】:

    • 该问题已在快照存储库中修复,下次发布就可以了
    • 谢谢!!这在 Ubuntu Lucid 上修复了它!
    猜你喜欢
    • 1970-01-01
    • 2017-04-20
    • 2013-03-09
    • 1970-01-01
    • 2021-06-17
    • 1970-01-01
    • 2014-06-02
    • 2015-03-15
    • 1970-01-01
    相关资源
    最近更新 更多