致命错误:未捕获错误:使用graphaware for PHP

时间:2017-10-06 08:19:45

标签: php apache neo4j directory graphaware

我正在使用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';

这里是配置php文件的代码,名为configNeo4j.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 );
?>

以下是文件结构的图像:

enter image description here

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

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

这也可能有所帮助:

enter image description here

这很奇怪,因为我在eclipse中使用了库,我也在xampp的php.exe文件中安装了作曲家。如果有人对这个问题有任何解决方案,那么如果你能让我知道如何解决这个问题会很棒。谢谢你。

2 个答案:

答案 0 :(得分:1)

试试这个:

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

您的代码是:

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

你不需要指定文件的完整路径(&#39; c:/ xampp /...')

__DIR__ will give you the current directory of the file you wrote your codes
哦,无论如何,你编辑了autoload.php吗?如果您使用第三方类或插件,则不必编辑其核心文件。

答案 1 :(得分:0)

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

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