mongodb 错误信息:Class 'Fatal error' Not Found

dl5txlt9  于 11个月前  发布在  Go
关注(0)|答案(8)|浏览(197)

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

$mongo = new MongoDB\Driver\Manager("mongodb://localhost:27017");

字符串
错误:
消息:Class 'Uncategorized\Driver\Manager' not found
当我用php_info()检查它时,我看到,有

是否有使用驱动程序的要求?

hwamh0ep

hwamh0ep1#

Mongo扩展和MongoDB扩展之间有一些混淆,因为它们不一样。由于您的版本号,我猜您正在使用旧的Mongo扩展,该扩展已 * 弃用 *。
确保你安装了新的MongoDB extension,你应该没问题。不要忘记从你的php.ini中删除旧的extension=mongo.so,因为这可能会导致问题。

kzipqqlq

kzipqqlq2#

对我来说,我忘记将extension=mongodb.so添加到FPM(FastCGI进程管理器)的php.ini中。在Ubuntu 16.04上,这是:
/etc/php/7.0/fpm/php.ini
值得一提的是,我使用的是nginx。

s71maibg

s71maibg3#

1.添加mongo DB

$sudo apt update && sudo apt install php-mongodb

字符串
1.重启apache服务器,

  1. check in phpinfo()for mongo
y53ybaqx

y53ybaqx4#

如何在macOS莫哈韦上安装
开始:

sudo pecl install mongodb

字符串
要检查是否安装了mongodb包,请在运行时查找“mongodb”:

pecl list


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

pecl list-files mongodb | grep mongodb.so


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

extension="mongodb.so"


(我找不到扩展名为“php_mongodb.so”的行)
现在插入一行:

extension="{{the path to your installed mongodb.so}}"


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

php -i | grep Scan


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

touch {{your conf.d path}}/ext-mongodb.ini


比如:

touch /usr/local/etc/php/7.1/conf.d/ext-mongodb.ini


重新启动Apache以读取新的配置
通过以下方式进行健全检查:

php -i | grep mongodb


你可以走了

8oomwypt

8oomwypt5#

如果你得到这个错误,即使在你安装了PHP的Mongodb驱动程序之后,只要使用composer安装Mongodb。

composer require mongodb/mongodb

字符串
之后,这将解决你的问题。

ltqd579y

ltqd579y6#

此错误是因为php_mongodb.dll文件在etc文件夹中丢失,并添加到php.ini文件,如(extension=php_mongodb.dll)。因此,我得到了这个错误。它将纠正我的错误

lf3rwulv

lf3rwulv7#

可能是您的CLI版本的php是不同的,检查php版本在终端使用php -v.然后相应地切换. FOR EX-:
从PHP 7.1开始=> PHP 5.6

$ sudo update-alternatives --set php /usr/bin/php5.6.

字符串
我希望它能帮助你们。

k97glaaz

k97glaaz8#

在新版本的centos中,编辑php.ini不再起作用,
您需要在etc/php.d文件夹中添加内容为extension=mongodb.somongodb.ini文件
然后别忘了重启php-fpm:sudo systemctl restart php-fpm.service

相关问题