Мы просто устанавливаем наше первое приложение Neo4j 2.1 в серверную среду Jelastic и не можем подключиться к работающей базе данных. Простая программа (из ответа в neo4jphp: Не удается создать экземпляр абстрактного класса Everyman \ Neo4j \ Transport) это:
require('vendor/autoload.php');
use Everyman\Neo4j\Client;
$client = new Client($Server_ip_address, 8080);
print_r($client->getServerInfo());
Последняя строка выдает ошибку 401 Unauthorized:
‘Невозможно получить информацию о сервере [401]: \ nHeaders: Array
(
[WWW-Authenticate] => Основная область = «neo4j graphdb»
[Content-Type] => text / html; кодировка = ISO-8859-1
[Cache-Control] => необходимо повторно подтвердить, без кэширования, без хранения
[Content-Length] => 0
[Server] => Jetty (9.0.5.v20130815)
)
Тело: массив
(
)
».
Должен ли я настроить user_id / пароль где-нибудь в моей среде Apache 2.2, или что-то еще отсутствует?
Спасибо, в конце концов! Рабочая версия это:
require('vendor/autoload.php');
use Everyman\Neo4j\Client;
$client = new Everyman\Neo4j\Client($host, $port);
$client->getTransport()
->setAuth($username, $password);
print_r($client->getServerInfo());
Также следует использовать «-> useHttps ()», если у вас нет доверенной среды.
Если вы используете аутентификацию, вам нужно передать имя пользователя / пароль, как показано в примере на https://github.com/jadell/neo4jphp/wiki/Getting-started#testing-your-connection
require('vendor/autoload.php');
use Everyman\Neo4j\Client;
$client = new Client($Server_ip_address, 8080);
$client->setAuth($username, $password);
print_r($client->getServerInfo());
Кроме того, если вы используете HTTPS (рекомендуется, если вы используете аутентификацию), вы также должны сделать:
$client->useHttps();
Других решений пока нет …