Объявление GraphAware\Neo4j\Client\HttpDriver\Session::run() должно быть совместимо с
Я следую учебному пособию, предоставленному Graphaware, и продолжаю получать следующую ошибку, просто пытаясь выполнить учебное пособие по основному использованию:
Неустранимая ошибка: объявление GraphAware\Neo4j\Client\HttpDriver\Session::run() должно быть совместимо с GraphAware\Common\Driver\SessionInterface::run(оператор $, массив $parameters = Array, $tag = NULL) в C:\ProgramData\ComposerSetup\bin\vendor\graphaware\neo4j-php-client\src\HttpDriver\Session.php в строке 24
Это код, который я выполняю:
<?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"
}
}
2 ответа
У меня была такая же ошибка. Проблема была в устаревшей версии neo4j-php-client (version 4.0.0)
, Вот что я сделал:
Удалить
vendor/
папка иcomposer.lock
файл из вашей исходной папки.Добавьте каретку перед номером версии в вашем
composer.json
:"graphaware/neo4j-php-client": "^4.0"
Тогда сделай
composer install
в исходной папке через терминал.
Установлена последняя версия graphaware/neo4j-php-client (4.6.4)
и решил ошибку.
У меня была та же проблема, и я "решил" ее, но с неоптимальным решением:
Прямо (!) В 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
И это работает... пока (до обновления пакета?)
Может ли это быть ошибкой?