Мы просто устанавливаем наше первое приложение Neo4j 2.1 на серверную среду Jelastic и не можем подключиться к работе db. Простая программа (от ответа в neo4jphp: Cannot instantiate abstract class Everyman\Neo4j\Transport) заключается в следующем:Подключение сервера Neo4j с Neo4jPHP дает 401
require('vendor/autoload.php');
use Everyman\Neo4j\Client;
$client = new Client($Server_ip_address, 8080);
print_r($client->getServerInfo());
Последняя строка выдает ошибку 401 Несанкционированное:
«Не удалось получить информацию о сервере [401]: \ nHeaders: Array
(
[WWW-Authenticate] => Основная сфера = "Neo4j graphdb"
[Content-Type] => текст/html; Charset = ISO-8859-1
[Cache-Control] => нужно обязательно перепроверять , no-cache, no-store
[Content-Length] => 0
[Сервер] => Jetty (9.0.5.v20130815)
)
Body: Array
(
)
.
Должен ли я настраивать user_id/password где-нибудь в моей среде 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()» следует использовать, если у вас нет доверенной среды.
Я не нашел примеров того, как должны быть указаны учетные данные, обычно они не выражены. Документы в http://jadell.github.io/neo4jphp/docs/index.html сообщают, что есть функция Transport.setAuth ($ user, $ passwd), но это не очень хорошая идея, чтобы их жестко кодировать. Есть ли другие способы установки учетных данных, например, в php.ini? –
Я попытался использовать метод setAuth, но он терпит неудачу: «Невозможно создать экземпляр абстрактного класса Everyman \\ Neo4j \\ Transport». Я написал '\t $ client = new Client (новый транспорт ('10 .50.8.204 ', 8080) .setAuth (' admin ', $ mypasswd);' –
Вам не нужно создавать новый транспорт. Метод 'setAuth' вызывается в $ client. Вы правы, что никогда не должны жестко указывать учетные данные безопасности в приложении. Вы можете хранить имя пользователя/пароль в любом месте, где обычно хранятся учетные данные, чтобы безопасно читать в ваше приложение: файлы конфигурации, уроки среды Apache и т. Д. –