Неустранимая ошибка: необработанное исключение «Everyman \ Neo4j \ Exception» с сообщением «Невозможно получить информацию о сервере [401]:

Я только что установил сервер neo4j в Windows и пытаюсь подключиться с помощью php. Я запустил xampp, установил neo4jphp с помощью composer, а затем попытался проверить соединение, используя следующий скрипт:

<?php
require('vendor/autoload.php');


$client = new Everyman\Neo4j\Client('localhost', 7474);
print_r($client->getServerInfo());
?>

Теперь вместо отображения состояния сервера произошла фатальная ошибка, подобная этой:

Неустранимая ошибка: необработанное исключение «Everyman \ Neo4j \ Exception» с
сообщение ‘Невозможно получить информацию о сервере [401]: Заголовки: Массив ([Дата] => Ср., 27 мая 2015 г. 10:54:01 GMT [Content-Type] => application / json; charset = UTF-8 [WWW-Authenticate] => Нет [Content-Length] => 144
[Server] => Jetty (9.2.z-SNAPSHOT)) Тело: Array ([ошибки] => Array (
[0] => Array ([message] => Не указан заголовок авторизации. [Code] => Neo.ClientError.Security.AuthorizationFailed))) ‘в C: \ xampp \ htdocs \ neo4j \ vendor \ everyman \ neo4jphp \ lib \ Everyman \ Neo4j \ Command.php: 116
Трассировка стека: # 0
C: \ XAMPP \ HTDOCS \ Neo4j \ поставщика \ обыватель \ neo4jphp \ Lib \ обывателя \ Neo4j \ Command \ GetServerInfo.php (53):
Everyman \ Neo4j \ Command-> throwException («Невозможно повторить …», 401,
Array, Array) # 1
C: \ XAMPP \ HTDOCS \ Neo4j \ поставщика \ обыватель \ neo4jphp \ Lib \ обывателя \ Neo4j \ Command.php (69):
Everyman \ Neo4j \ Command \ GetServerInfo-> handleResult (401, Array, Array)
# 2 C: \ xa в C: \ xampp \ htdocs \ neo4j \ vendor \ everyman \ neo4jphp \ lib \ Everyman \ Neo4j \ Command.php
по линии 116

Как это решить? Любая помощь будет оценена. Заранее спасибо.

0

Решение

Это будет работать. Вам просто нужно определить учетные данные авторизации, например, так:

<?php
require('vendor/autoload.php');

$client = new Everyman\Neo4j\Client(
(new Everyman\Neo4j\Transport\Curl('localhost',7474))
->setAuth('neo4j','neo4j')
);

print_r($client->getServerInfo());

Настройте пользователя и пароль соответственно («neo4j» / «neo4j» — это значения по умолчанию).

Другое решение — отключить требование авторизации при доступе к Neo4j. Это можно сделать, отредактировав файл конфигурации Neo4j:

conf/neo4j-server.properties

и установив в false следующий флаг:

dbms.security.auth_enabled=false

Конечно, вы должны помнить о перезагрузке сервера после этого.

0

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

Если вы установили последнюю версию Neo4j, вам потребуется авторизация (укажите имя пользователя и пароль) для подключения к Neo4j. Похоже, что у вашего комплекта Everyman такого нет, или вы используете более старый. я использую Neoxygen / neoclient я, который предоставляет возможность предоставить имя пользователя и пароль.

0

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