我正在关注教程provided by graphaware,并且在尝试执行基本使用教程时我一直收到以下错误:
致命错误:GraphAware \ Neo4j \ Client \ HttpDriver \ Session :: run()声明必须与GraphAware \ Common \ Driver \ SessionInterface :: run兼容($ statement,array $ parameters = Array,$ tag = NULL )第24行 C:\ ProgramData \ ComposerSetup \ bin \ vendor \ graphaware \ neo4j-php-client \ src \ HttpDriver \ Session.php
这是我执行的代码:
<?php
require_once 'C:\ProgramData\ComposerSetup\bin\vendor\autoload.php';
use GraphAware\Neo4j\Client\ClientBuilder;
$client = ClientBuilder::create()
->addConnection('default', 'http://neo4j:password@localhost:7474') // Changed the login info back to default
->addConnection('bolt', 'bolt://neo4j:password@localhost:7687') // Changed the login info back to default
->build();
$result = $client->run("MATCH (n:User) RETURN n");
?>
我尝试过多次删除和读取Neo4J PHP客户端,但这并没有解决它
我使用的是Neo4J v3.0.6并且在几天内遇到了同样的问题。任何帮助表示赞赏。
编辑:composer.json
{
"require": {
"everyman/neo4jphp": "dev-master",
"graphaware/neo4j-php-client": "4.0"
}
}
答案 0 :(得分:1)
我遇到了同样的问题而且#34;解决了#34;但它有一个次优的解决方案:
直接(!)在GraphAware \ Common \ Driver \ SessionInterface中,我试图替换
public function run($statement, array $parameters = Array, $tag = NULL);
通过
public function run($statement, $parameters = array(), $tag = null);
这似乎是Graphaware \ Neo4j \ Client \ HttpDriver \ Session
的预期它现在有效......(直到包更新?)
这可能是个错误吗?
答案 1 :(得分:1)
我有同样的错误。问题是neo4j-php-client (version 4.0.0)
的过时版本。这是我做的:
从源文件夹中删除vendor/
文件夹和composer.lock
文件。
在composer.json
中的版本号前添加caret:
"graphaware/neo4j-php-client": "^4.0"
然后通过终端在源文件夹中执行composer install
。
它安装了最新版本graphaware/neo4j-php-client (4.6.4)
并解决了错误。