我在MacBook上本地运行XAMPP。在同一台机器上,我运行neo4j Enterprise。数据库版本为3.5。6.
当我尝试通过php客户端连接到数据库时,我收到一条警告,提示一个致命错误:
警告:流\u套接字\u客户端():无法连接到tcp://localhost:7687(连接被拒绝)在/opt/lampp/htdocs/avi-law_codetest/vendor/graphaware/neo4j bolt/src/IO/StreamSocket中。php在线203
致命错误:未捕获GraphAware\Bolt\Exception\IOException:连接到服务器的错误(111):/opt/lampp/htdocs/avi-law_codetest/vendor/GraphAware/neo4j Bolt/src/IO/StreamSocket中的“连接被拒绝”。php:207堆栈跟踪:#0/opt/lampp/htdocs/avi-law_codetest/vendor/graphaware/neo4j-bolt/src/IO/StreamSocket。php(245):GraphAware\Bolt\IO\StreamSocket-
同样的情况也适用于https
和bolt(仅适用于错误声明中的其他两个端口)。
我已通过数据库的浏览器界面检查了用户名
(neo4j)和密码
(Neo1234)。两者都是正确的。我还尝试用Apache服务器的IP地址替换“localhost”。
require_once 'vendor/autoload.php';
use GraphAware\Neo4j\Client\ClientBuilder;
$client = ClientBuilder::create()
//->addConnection("default", "http://neo4j:Neo1234@localhost:7474")
->addConnection('bolt', 'bolt://neo4j:Neo1234@localhost:7687')
->build();
$query = 'MATCH (user:User {name:"john"})
CREATE (friend:User {name:"Judith"})
MERGE (user)-[r:FRIEND]->(friend)
RETURN user, friend, r';
$result = $client->sendCypherQuery($query)->getResult();
$john = $result->get('user');
$judith = $result->get('judith');
// What john has for relationships
print_r($john->getRelationships()); // returns relationships objects
如果对$client变量执行了var_dump(),结果如下:
对象(GraphAware\Neo4j\Client\Client)#23(2){[“connectionManager”:受保护]=
neo4j中的设置。conf处于默认状态。
问题解决了。这是XAMPP Apache和板载Mac OS Apache之间的(糟糕)关系。当您试图访问时,它们会以某种方式进行干扰”http://localhost“.我已经停止了XAMPP Apache,按照这里给出的步骤,瞧,问题已经解决了。