我是riak的新手,我在Ubuntu 13.10中安装了RIAK和PHP客户端。使用PHP客户端在Riak中保存数据时遇到问题。我从git hub下载了Riak php客户端并完成了一个简单的字符串插入。但要求花了这么长时间。我等了大约30到40分钟。即便如此,我也没有收到服务器的回复。
我使用了以下代码。
<?php
require_once('riak-php-client/src/Basho/Riak/Bucket.php');
require_once('riak-php-client/src/Basho/Riak/Exception.php');
require_once('riak-php-client/src/Basho/Riak/Link.php');
require_once('riak-php-client/src/Basho/Riak/MapReduce.php');
require_once('riak-php-client/src/Basho/Riak/Object.php');
require_once('riak-php-client/src/Basho/Riak/StringIO.php');
require_once('riak-php-client/src/Basho/Riak/Utils.php');
require_once('riak-php-client/src/Basho/Riak/Link/Phase.php');
require_once('riak-php-client/src/Basho/Riak/MapReduce/Phase.php');
require_once('riak-php-client/src/Basho/Riak/Riak.php');
# Connect to Riak
$client = new Basho\Riak\Riak('127.0.0.1', 10017);
# Choose a bucket name
$bucket = $client->bucket('test');
# Supply a key under which to store your data
$person = $bucket->newObject('riak_developer_1', array(
'name' => "John Smith",
'age' => 28,
'company' => "Facebook"
));
# Save the object to Riak
//echo '<PRE>';
//print_r($person);exit;
$person->store();
# Fetch the object
$person = $bucket->get('riak_developer_1');
# Update the object
$person->data['company'] = "Google";
$person->store();
?>
我已从我下载的git hub获取代码,并在“GitHub Riak-Php-Client”中安装了Riak-Php-Client。
当我在调用store函数之前打印riak对象时,我将获取riak对象中的数据。如果需要,我也可以发布该对象。请帮忙。我也没有收到任何错误。
提前致谢。
答案 0 :(得分:2)
当前版本的PHP客户端不支持Protocol Buffers。如果您的节点具有默认设置,则端口10017用于协议缓冲区连接,而端口10018用于HTTP连接。
请在您的示例中将端口更改为10018,然后重试。