-5

我正在使用 graphaware 连接到 neo4j 图形数据库。即使我在 composer.json 中使用库,我仍然收到一条错误消息:致命错误:未捕获的错误。这是 autoload.php 的代码:

    <?php
/*
 * This file is part of the GraphAware Neo4j PHP OGM package.
 *
 * (c) GraphAware Ltd <info@graphaware.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
error_reporting(E_ALL | E_STRICT);
$basedir = __DIR__.'/../';
//$basedir = __DIR__.'C:/xampp/htdocs/';
$proxyDir = $basedir.DIRECTORY_SEPARATOR.'_var';
putenv("basedir=$basedir");
putenv("proxydir=$proxyDir");
$loader = require_once __DIR__.'/../vendor/autoload.php';

这里是名为 configNeo4j.php 的配置 php 文件的代码:

<?php
// Connection to the database

require_once __DIR__.'/vendor/autoload.php';

use GraphAware\Neo4j\Client\Client;
use GraphAware\Neo4j\Client\ClientBuilder;
$client = new Client ();

$client = ClientBuilder::create ()
->addConnection ( 'default', 'http://neo4j:neo4jj@127.0.0.1:7474' )
-> addConnection('bolt', 'bolt://neo4j:neo4jj@127.0.0.1:7687')
->build ();

$query = "MATCH (X) RETURN X";
$result = $client->run ( $query );
?>

这是文件结构的图像:

在此处输入图像描述

现在,当我在使用 xampps apache 服务器的 Web 浏览器上运行网页时,我收到以下错误消息:

致命错误:未捕获的错误:在 C:\xampp\htdocs\configNeo4j.php:11 中找不到类 'GraphAware\Neo4j\Client\Client' 堆栈跟踪:#0 {main} 在 C:\xampp\htdocs\configNeo4j 中抛出。第 11 行的 php

这也可能有帮助:

在此处输入图像描述

这很奇怪,因为我在 eclipse 中使用库,并且我还在 xampp 的 php.exe 文件中安装了作曲家。如果有人对此问题有任何解决方案,如果您能告诉我如何解决此问题,那就太好了。在此先感谢。

4

2 回答 2

1

尝试这个:

require_once __DIR__.'/vendor/autoload.php';

你的代码是:

require_once __DIR__.'C:/xampp/htdocs/vendor/autoload.php';

您不需要指定文件的完整路径('c:/xampp/...')

__DIR__ will give you the current directory of the file you wrote your codes

哦,无论如何,你编辑了 autoload.php 吗?如果您使用第三方类或插件,则不必编辑它们的核心文件。

于 2017-10-06T08:20:49.033 回答
0

使用更好的相对路径来加载自动加载文件。这样,您还可以使应用程序独立于操作系统和文件系统。像这样:

require_once __DIR__.'/vendor/autoload.php';
于 2017-10-06T08:26:27.610 回答