Подключение сервера Neo4j с Neo4jPHP дает 401

Мы просто устанавливаем наше первое приложение 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 ()», если у вас нет доверенной среды.

0

Решение

Если вы используете аутентификацию, вам нужно передать имя пользователя / пароль, как показано в примере на 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();
1

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

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

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