致命错误:未被捕获的错误:找不到类'Foolz \ SphinxQL \ Connection'

时间:2019-03-04 17:59:50

标签: php composer-php autoloader sphinxql

我使用以下json文件通过composer安装了适用于PHP的Foolz SphinxQL查询生成器:

{
    "require": {
        "foolz/sphinxql-query-builder": "^2.0"
    }
}

我的php如下:

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

use Foolz\SphinxQL\SphinxQL;
use Foolz\SphinxQL\Connection;

error_reporting(E_ALL);
ini_set('display_errors', 1);

// create a SphinxQL Connection object to use with SphinxQL
$conn = new Connection();
$conn->setConnectionParams('127.0.0.1', 9306);

$query = SphinxQL::create($conn)->select('*')
    ->from('test1')
    ->match('@test document');
#    ->where('banned', '=', 1);

$result = $query->execute();

var_dump($result);

?>

使用调试器,我发现自动加载程序(功能findFileWithExtension)正在试图在/mnt/i/var/www/vhosts/my.play.net/sphinx/vendor/composer/../foolz/sphinxql-query-builder/Connection.php处查找文件,而该文件可能应该在实际位于的/mnt/i/var/www/vhosts/my.play.net/sphinx/vendor/composer/../foolz/sphinxql-query-builder/Drivers/Mysqli/Connection.php中查找。

谁能建议我为什么会看到它以及如何解决它?

1 个答案:

答案 0 :(得分:1)

您使用了不正确的名称空间。要获得vendor/foolz/sphinxql-query-builder/src/Drivers/Mysqli/Connection.php,您需要使用Foolz\SphinxQL\Drivers\Mysqli\Connection作为FQN:

use Foolz\SphinxQL\SphinxQL;
use Foolz\SphinxQL\Drivers\Mysqli\Connection;