php и aerospike — ошибка в настройке данных

Я использую аэроспайк на Ubuntu.

Я могу устанавливать и получать записи в / из аэроспайкера в командной строке.

В PHP я могу создать экземпляр класса AeroSpike, но когда я пытаюсь добавить к нему некоторые данные, он говорит «AEROSPIKE_ERR_NAMESPACE_NOT_FOUND».

Удивительно, но код ошибки равен 20, где, как и должно быть, 501 согласно документам. Такой код ошибки 20 не определен в API.

https://github.com/aerospike/aerospike-client-nodejs/blob/master/docs/status.md

Код, который я пробовал.

<?php
ini_set( 'display_errors', 1 );
ini_set( 'error_reporting', E_ALL );

// set the records to never expire unless specified otherwise
define( 'RECORD_TIME_TO_LIVE', 0 );

$config = array(
"hosts" => array(
array( "addr" => "127.0.0.1", "port" => 3000 )
)
);

$db = new Aerospike( $config );

// failure check
if ( !$db->isConnected() ) {
echo "Failed to connect to the Aerospike server [{$db->errorno()}]: {$db->error()}\n";
exit( 1 );
}

$key = $db->initKey("infosphere", "characters", 1);

$put_vals = array("name" => "Scruffy", "Occupation" => "The Janitor");

$status = $db->put($key, $put_vals, RECORD_TIME_TO_LIVE);

if($status == Aerospike::OK) {
echo "Record written.\n";
} elseif ($status == Aerospike::ERR_RECORD_EXISTS) {
echo "The Aerospike server already has a record with the given key.\n";
} else {
echo "[{$db->errorno()}] :".$db->error();
}

$db->close();
?>

Любая помощь приветствуется.

Спасибо,

3

Решение

Определено ли пространство имен «инфосфера» в конфигурации вашего сервера Aerospike?

https://www.aerospike.com/docs/operations/configure/namespace/

По умолчанию в пространстве имен присутствуют только test и bar. Любые другие дополнительные пространства имен должны быть определены, а сервер Aerospike перезапущен, чтобы новое пространство имен заработало.

Я проверю коды ошибок.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]