即使安装了模块,也找不到PHP类

时间:2020-01-30 17:02:30

标签: php mongodb include pear

我正在尝试使用mongodb PHP模块。我已经使用pecl安装了它,并将其写入了php.ini。正确地呼叫和回显get_loaded_extensions()会显示扩展名mongodb。但是,我在official guide之后的代码抛出错误class MongoDB\Client not found。我该如何解决?我是否需要以某种方式首先包含该模块?

我的代码:

<?php
var_dump(get_loaded_extensions());
$client = new MongoDB\Client(
    'mongodb+srv://<username>:<password>@<cluster-address>/test?retryWrites=true&w=majority'
);

如果这很重要,我将在安装了rasbian lite的树莓派上托管一个Nginx服务器。

1 个答案:

答案 0 :(得分:1)

nginx是一个php库,用于处理php mongodb驱动程序,该驱动程序是MongoDB\Client的扩展名,您可以使用mongodb看到它。要使用get_loaded_extensions()类,您需要下载名为mongodb/mongodb的库。

要首先在项目根目录中执行此操作,请创建一个您喜欢的名称的文件夹,例如,在我们的情况下为MongoDB\Client;现在创建一个名为 composer.json 的文件,并将以下代码放入其中:

mongodb_test

然后在命令行工具上运行以下命令:

{
    "require": {
        "mongodb/mongodb": "^1.2"
    }
}

或以下命令(如果composer已全局安装)

php composer.phar install 

接下来,在同一个目录/文件夹中创建一个任何名称的新文件,然后将以下代码放在localhost中进行测试。

composer install

希望这可以帮助您理解。