致命错误:找不到类'MongoDB\Driver\Manager'

tth*_*zlo 8 php mongodb

我想使用MongoDB驱动程序,但是当我使用它时它会给我一个错误:

$mongo = new MongoDB\Driver\Manager("mongodb://localhost:27017");
Run Code Online (Sandbox Code Playgroud)

错误:

消息:找不到类'MongoDB\Driver\Manager'

当我用php_info()检查它时,我知道,有 在此输入图像描述

有没有要求使用驱动程序?

sim*_*mon 15

Mongo扩展和MongoDB扩展之间存在一些混淆,这些混淆是不一样的.由于您的版本号,我猜您使用的是不推荐使用的旧Mongo扩展.

确保安装新的MongoDB扩展,你应该没问题.不要忘记extension=mongo.so从php.ini中删除旧的,因为这可能会导致问题.


abh*_*mar 9

1.添加mongo数据库

$sudo apt update && sudo apt install php-mongodb
Run Code Online (Sandbox Code Playgroud)
  1. 重启apache服务器,

  2. 为 mongo 签入 phpinfo()


Rya*_*Val 8

对我来说,我忘了添加extension=mongodb.sophp.iniFPM(FastCGI Process Manager).在Ubuntu 16.04上,这是在:

/etc/php/7.0/fpm/php.ini

为什么它值得我使用nginx.


小智 8

如何在 macOS Mojave 上安装

从...开始:

sudo pecl install mongodb
Run Code Online (Sandbox Code Playgroud)

要检查 mongodb 软件包是否已安装,请在运行时查找“mongodb”:

pecl list
Run Code Online (Sandbox Code Playgroud)

要获取安装的 mongodb.so 路径,请运行:

pecl list-files mongodb | grep mongodb.so
Run Code Online (Sandbox Code Playgroud)

然后删除(或注释掉)您的 php.ini 文件:

extension="mongodb.so"
Run Code Online (Sandbox Code Playgroud)

(我找不到带有扩展名=“php_mongodb.so”的行)

现在插入一行:

extension="{{the path to your installed mongodb.so}}"
Run Code Online (Sandbox Code Playgroud)

运行此命令以获取您的ext-*.ini目录路径:

php -i | grep Scan
Run Code Online (Sandbox Code Playgroud)

使用以下命令创建 ext-mongodb.ini:

touch {{your conf.d path}}/ext-mongodb.ini
Run Code Online (Sandbox Code Playgroud)

喜欢:

touch /usr/local/etc/php/7.1/conf.d/ext-mongodb.ini
Run Code Online (Sandbox Code Playgroud)

重新启动 apache 以读取新配置

健全性检查:

php -i | grep mongodb
Run Code Online (Sandbox Code Playgroud)

你准备好了。