我想使用MongoDB驱动程序,但当我使用它时,它会抛出一个错误:
$mongo = new MongoDB\Driver\Manager("mongodb://localhost:27017");
字符串错误:消息:Class 'Uncategorized\Driver\Manager' not found当我用php_info()检查它时,我看到,有
是否有使用驱动程序的要求?
hwamh0ep1#
Mongo扩展和MongoDB扩展之间有一些混淆,因为它们不一样。由于您的版本号,我猜您正在使用旧的Mongo扩展,该扩展已 * 弃用 *。确保你安装了新的MongoDB extension,你应该没问题。不要忘记从你的php.ini中删除旧的extension=mongo.so,因为这可能会导致问题。
extension=mongo.so
kzipqqlq2#
对我来说,我忘记将extension=mongodb.so添加到FPM(FastCGI进程管理器)的php.ini中。在Ubuntu 16.04上,这是:/etc/php/7.0/fpm/php.ini个值得一提的是,我使用的是nginx。
extension=mongodb.so
php.ini
/etc/php/7.0/fpm/php.ini
s71maibg3#
1.添加mongo DB
$sudo apt update && sudo apt install php-mongodb
字符串1.重启apache服务器,
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目录路径:
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
型你可以走了
8oomwypt5#
如果你得到这个错误,即使在你安装了PHP的Mongodb驱动程序之后,只要使用composer安装Mongodb。
composer require mongodb/mongodb
字符串之后,这将解决你的问题。
ltqd579y6#
此错误是因为php_mongodb.dll文件在etc文件夹中丢失,并添加到php.ini文件,如(extension=php_mongodb.dll)。因此,我得到了这个错误。它将纠正我的错误
php_mongodb.dll
(extension=php_mongodb.dll)
lf3rwulv7#
可能是您的CLI版本的php是不同的,检查php版本在终端使用php -v.然后相应地切换. FOR EX-:从PHP 7.1开始=> PHP 5.6
$ sudo update-alternatives --set php /usr/bin/php5.6.
字符串我希望它能帮助你们。
k97glaaz8#
在新版本的centos中,编辑php.ini不再起作用,您需要在etc/php.d文件夹中添加内容为extension=mongodb.so的mongodb.ini文件然后别忘了重启php-fpm:sudo systemctl restart php-fpm.service
etc/php.d
mongodb.ini
sudo systemctl restart php-fpm.service
8条答案
按热度按时间hwamh0ep1#
Mongo扩展和MongoDB扩展之间有一些混淆,因为它们不一样。由于您的版本号,我猜您正在使用旧的Mongo扩展,该扩展已 * 弃用 *。
确保你安装了新的MongoDB extension,你应该没问题。不要忘记从你的php.ini中删除旧的
extension=mongo.so
,因为这可能会导致问题。kzipqqlq2#
对我来说,我忘记将
extension=mongodb.so
添加到FPM(FastCGI进程管理器)的php.ini
中。在Ubuntu 16.04上,这是:/etc/php/7.0/fpm/php.ini
个值得一提的是,我使用的是nginx。
s71maibg3#
1.添加mongo DB
字符串
1.重启apache服务器,
y53ybaqx4#
如何在macOS莫哈韦上安装
开始:
字符串
要检查是否安装了mongodb包,请在运行时查找“mongodb”:
型
要获取安装的mongodb.so路径,请运行:
型
然后删除(或注解掉)你的php.ini文件:
型
(我找不到扩展名为“php_mongodb.so”的行)
现在插入一行:
型
运行以下命令获取
ext-*.ini
目录路径:型
使用以下命令创建您的ext-mongodb.ini:
型
比如:
型
重新启动Apache以读取新的配置
通过以下方式进行健全检查:
型
你可以走了
8oomwypt5#
如果你得到这个错误,即使在你安装了PHP的Mongodb驱动程序之后,只要使用composer安装Mongodb。
字符串
之后,这将解决你的问题。
ltqd579y6#
此错误是因为
php_mongodb.dll
文件在etc文件夹中丢失,并添加到php.ini
文件,如(extension=php_mongodb.dll)
。因此,我得到了这个错误。它将纠正我的错误lf3rwulv7#
可能是您的CLI版本的php是不同的,检查php版本在终端使用php -v.然后相应地切换. FOR EX-:
从PHP 7.1开始=> PHP 5.6
字符串
我希望它能帮助你们。
k97glaaz8#
在新版本的centos中,编辑
php.ini
不再起作用,您需要在
etc/php.d
文件夹中添加内容为extension=mongodb.so
的mongodb.ini
文件然后别忘了重启php-fpm:
sudo systemctl restart php-fpm.service