我想使用MongoDB驱动程序,但是当我使用它时它会给我一个错误:
$mongo = new MongoDB\Driver\Manager("mongodb://localhost:27017");
错误:
消息:未找到类'MongoDB \ Driver \ Manager'
是否有要求使用驱动程序?
答案 0 :(得分:14)
Mongo扩展和MongoDB扩展之间存在一些混淆,这些混淆是不一样的。由于您的版本号,我猜您使用的是已弃用的旧Mongo扩展程序。
确保安装新的MongoDB extension并且您应该没问题。不要忘记从php.ini中删除旧的extension=mongo.so
,因为这可能会导致问题。
答案 1 :(得分:7)
对我来说,我忘记将extension=mongodb.so
添加到FPM(FastCGI流程管理器)的php.ini
。在Ubuntu 16.04上,这是在:
/etc/php/7.0/fpm/php.ini
值得我使用的是nginx。
答案 2 :(得分:2)
如何在macOS Mojave上安装
开始于:
sudo pecl install mongodb
要检查是否已安装mongodb软件包,请在运行时查找“ mongodb”:
pecl list
要获取已安装的mongodb.so路径,请运行:
pecl list-files mongodb | grep mongodb.so
然后删除(或注释掉)您的php.ini文件:
extension="mongodb.so"
(我找不到带有extension =“ 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
您准备好了。
答案 3 :(得分:1)
1。添加mongo数据库
$sudo apt update && sudo apt install php-mongodb
重新启动apache服务器,
在phpinfo()中检查mongo
答案 4 :(得分:1)
如果收到此错误,即使在安装了适用于php的Mongodb驱动程序之后,也只需使用composer安装mongodb。
composer require mongodb/mongodb
之后,这将解决您的问题。
答案 5 :(得分:0)
可能是您的php的CLI版本不同,请使用php -v在终端中检查php版本。 然后相应地切换... 对于EX-:
从PHP 7.1 => PHP 5.6
$ sudo update-alternatives --set php /usr/bin/php5.6.
我希望它能对你们有所帮助。
答案 6 :(得分:0)
此错误是由于etc文件夹中缺少$(document).ready(function() {
$("#react").submit(function(e) {
$('#like').html('Processing..');
e.preventDefault();
var name = 'name';
$.ajax({
type: "POST",
url: '',
data: $("#react").serialize(),
success: function(data) {
$("#liked").show();
$("#liked").html(name + " has been added to your favorites");
$("#liked").fadeOut(1000);
$('#like').html("<i class='fa fa-heart'></i>");
},
error: function() {
$("#liked").show();
//$("#liked").attr('class', 'alert alert-danger').html(name+" could not be added to your favorites");
$("#liked").fadeOut(1000);
}
});
});
});
文件并将其添加到<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="react" method="post" action="javascript:void(0)" style="width: 40px; border: 0px solid black; color: white; float: left;">
<input type="hidden" name="aid" value="1" id="aid" style="width: 100%;" />
<input type="hidden" name="session" value="1" id="session" style="width: 100%;" />
<button type="submit" class="text-default btn btn-primary pull-left" id="like"><i class="fa fa-thumbs-up"></i></button>
</form>
文件(如php_mongodb.dll
)中。因此,我得到了这个错误。它将纠正我的错误