Я поместил некоторые данные в Aerospike, я могу запросить их через AQL или драйвер C # без проблем. Но когда я пытаюсь сделать это через драйвер PHP, я не получаю полную запись. Я наблюдал проблему во время метода scan (), после этого я попытался с методом get () с тем же результатом.
Вот часть кода с методом get ():
$config = ["hosts" => [["addr" => "192.168.x.x", "port" => 3000]]];
$db = new Aerospike($config);
if (!$db->isConnected())
{
echo "Failed to connect to the Aerospike server [{$db->errorno()}]: {$db->error()}\n";
exit(1);
}
$key = $db->initKey("company", "Company", 2456223);
$status = $db->get($key, $record);
echo "key->".$key['key']."\r\n";
print_r($record['bins']['address']);
вывод следующий:
key->2456223
Array
(
[zip] => 12345
[locality] => mytown
)
и вывод AQL:
aql> select address from company.Company where pk=2456223
[
{
"address": {
"zip": "12345",
"locality": "mytown",
"hidden": "00 01 00 00 00 FF FF FF FF 01 00 00 00 00 00 00 00 04 01 00 00 00 0E 53 79 73 74 65 6D 2E 42 6F 6F 6C 65 61 6E 01 00 00 00 07 6D 5F 76 61 6C 75 65 00 01 00 0B",
"geoID": 1234,
"streetAddress": "mystreet 4",
"region": "here",
"streetId": 5678
}
}
]
Есть идеи, что я делаю не так?
Кажется, у php есть проблема, связанная с типом c # blob. Похоже, разбор / печать карты прерывается на полпути. Поскольку BLOB-объект написан на C #, кажется, он в состоянии справиться с этим. Но у PHP, похоже, с этим проблемы.
Других решений пока нет …