Php 致命错误:未捕获异常';普通人\Neo4j\Exception';带有消息';无法检索服务器信息[401]:

Php 致命错误:未捕获异常';普通人\Neo4j\Exception';带有消息';无法检索服务器信息[401]:,php,neo4jphp,Php,Neo4jphp,我刚刚在Windows中安装了neo4j服务器,正在尝试与php连接。我已运行xampp,安装了带有composer的neo4jphp,然后尝试使用以下脚本检查连接: <?php require('vendor/autoload.php'); $client = new Everyman\Neo4j\Client('localhost', 7474); print_r($client->getServerInfo()); ?> 现在,没有显示服

我刚刚在Windows中安装了neo4j服务器,正在尝试与php连接。我已运行xampp,安装了带有composer的neo4jphp,然后尝试使用以下脚本检查连接:

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


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

现在,没有显示服务器状态,而是出现如下致命错误:

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

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

   print_r($client->getServerInfo());
致命错误:未捕获的异常“Everyman\Neo4j\exception”与 消息“无法检索服务器信息[401]:标题:数组([Date] =>Wed,2015年5月27日10:54:01格林尼治标准时间[内容类型]=>application/json;字符集=UTF-8[WWW-Authenticate]=>None[内容长度]=>144 [服务器]=>Jetty(9.2.z-SNAPSHOT))主体:数组([错误]=>数组( [0]=>数组([消息]=>未提供授权标头。[代码] =>Neo.ClientError.Security.AuthorizationFailed)),位于C:\xampp\htdocs\neo4j\vendor\everyman\neo4jphp\lib\everyman\neo4j\Command.php:116 堆栈跟踪:#0 C:\xampp\htdocs\neo4j\vendor\everyman\neo4jphp\lib\everyman\neo4j\Command\GetServerInfo.php(53): Everyman\Neo4j\Command->ThroweException('无法重试…',401, 数组,数组)#1 C:\xampp\htdocs\neo4j\vendor\everyman\neo4jphp\lib\everyman\neo4j\Command.php(69): Everyman\Neo4j\Command\GetServerInfo->HandlerResult(401,数组,数组) #2 C:\xampp\htdocs\neo4j\vendor\everyman\neo4jphp\lib\everyman\neo4j\Command.php中的C:\xa 在线116


如何解决这个问题?任何帮助都将不胜感激。提前感谢。

如果您安装了最新版本的Neo4j,则需要授权(提供用户名和密码)才能连接到Neo4j。您的Everyman捆绑包似乎没有,或者您正在使用旧的捆绑包。我正在使用我自己,它确实提供了提供用户名和密码的功能。

它会起作用。您只需要定义授权凭据,例如:

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

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

   print_r($client->getServerInfo());
并将以下标志设置为false:

dbms.security.auth_enabled=false

当然,您需要记住在之后重新启动服务器。

顺便说一句,neo4j已启动并使用数据库位置C:\Users\myname\Documents\neo4j\default.graphdb运行。。。!!