【问题标题】:Couchbase Client for php not workphp的Couchbase客户端不起作用
【发布时间】:2014-10-21 07:39:30
【问题描述】:

我从https://github.com/couchbase/php-ext-couchbase下载源代码。然后我在 ubuntu 中使用以下命令编译它。

  $ phpize
  $ ./configure
  $ make
  $ make test.

然后我在 module 中得到了一个 couchbase.so,然后我在 php.ini 中包含了 couchbase.so。然后,重新启动 Apache。但是,在我使用 phpinfo() 检查服务器的地方,我找不到安装任何 couchbase 模块。

然后当我运行时

         $myCluster = new CouchbaseCluster('couchbase://couchbase:8091');

         $cb = new Couchbase("couchbase:8091", "testbucket",
                "testpassword", "test_bosh_bucket");

在 apache log 中,我发现错误信息是 CouchbaseCluster Class is not found。并且找不到 Couchbase 类。似乎 PHP 没有加载 couchbase.so。由于我在 phpinfo() 中找不到沙发库并且找不到该类。有什么我想念的吗? 请帮忙。谢谢,s

【问题讨论】:

  • 是否正在加载编辑后的php.ini?或加载另一个 php.ini。可以在phpinfo()页面找到。
  • 最后需要make install吗?我只会使用pecl install couchbase 个人,除非您需要从 master 分支进行修复。

标签: php couchbase


【解决方案1】:

安装http://docs.couchbase.com/developer/c-2.4/download-install.html 我正在使用:

<?php
$cluster = new CouchbaseCluster("192.168.0.90:8091", "Administrator", "password", "default");
$db = $cluster->openBucket('default');
for ($i = 1; $i <= 400; $i++) {

$DocumentName = "document_name_" . substr(md5(rand()), 0, 6);
$res = $db->insert($DocumentName, array("user_id" => md5(rand())));

var_dump($res);
}
?>

【讨论】:

    【解决方案2】:

    您需要使用与您的 PHP 版本相匹配的 DLL。请参考以下链接。使用线程安全版本。

    http://pecl.php.net/package/couchbase/1.1.5/windows

    然后,使用以下代码。

    $cb = new Couchbase("127.0.0.1:8091", "", "", "beer-sample");
    $cb->set("foo", "bar");
    var_dump("foo");
    

    注意:请勿使用具有管理员权限的帐户来执行数据交易。将 NULL 作为用户名或存储桶的名称传递。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-04
      • 2020-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多