Я успешно установил соединение между моей базой данных riak и localhost, используя официальный клиент Basho riak-php:
https://github.com/basho/riak-php-client
В моей базе данных Riak у меня много ключей, хранящихся с данными JSON. Есть ли простой и эффективный способ отображения текстовых данных на локальном хосте? До сих пор я был в состоянии отобразить простые другие значения, используя этот код:
<?php
require_once('src/Basho/Riak/Riak.php');
require_once('src/Basho/Riak/Bucket.php');
require_once('src/Basho/Riak/Exception.php');
require_once('src/Basho/Riak/Link.php');
require_once('src/Basho/Riak/MapReduce.php');
require_once('src/Basho/Riak/Object.php');
require_once('src/Basho/Riak/StringIO.php');
require_once('src/Basho/Riak/Utils.php');
require_once('src/Basho/Riak/Link/Phase.php');
require_once('src/Basho/Riak/MapReduce/Phase.php');
$client = new Basho\Riak\Riak('172.31.42.72', 10018);
$myBucket = $client->bucket('test');
$myBucket1 = $client->bucket('world');$val1 = 1;
$obj1 = $myBucket-> newObject('one', $val1);
$obj1->store();
$val2 = 'two';
$obj2 = $myBucket->newObject('two', $val2);
$obj2->store();
$val3 = array('myValue' => 3);
$obj3 = $myBucket->newObject('three', $val3);
$obj3->store();
$fetched1 = $myBucket->get('one');
$fetched2 = $myBucket->get('two');
$fetched3 = $myBucket->get('three');
$fetched4 = $myBucket1->get('542660947589230592');assert($val1 == $fetched1->getData());
assert($val2 == $fetched2->getData());
assert($val3 == $fetched3->getData());
$obj = json_decode(fetched4);
print $obj->{'<<"text">>'};?>
В этом коде я также попытался отобразить данные JSON, которые находятся в переменной $ fetched4 и были запрошены из сегмента «мир», но когда я пытаюсь отобразить их с помощью этих двух строк кода:
$obj = json_decode(fetched4);
print $obj->{'<<"text">>'};
Ничего не отображается Есть идеи?
РЕДАКТИРОВАТЬ
Вот журналы ошибок apache2, хотя я не совсем уверен, что они полностью обновлены:
[Ср. 10 14: 05: 20.894220 2014] [: ошибка] [pid 4610] [клиент
129.16.723.16:44285] Примечание PHP: использование неопределенной константы fetched4 — предполагается, что ‘fetched4’ в /var/www/html/index.php в строке 52 [14: 05: 20.894240 2014] [: ошибка] [pid 4610] [клиент 129.16.723.16:44285] Примечание PHP: Попытка получить свойство необъекта в
/var/www/html/index.php в строке 53 [ср 10 декабря
Пытаться…
$obj = json_decode($fetched4);
Если это не опечатка при вводе вашего примера здесь, вы пропускаете $
на $fetched4
,
Запись в журнале PHP Notice: Use of undefined constant fetched4 - assumed 'fetched4'
указывает на то, что это реальная проблема, а не просто то, что вы здесь сделали.
Других решений пока нет …