TL;博士
MongoClient
类是传统PECL包mongo的一部分,但不再是最新的mongodb包的一部分.
既然安装了mongodb
扩展,而不是mongo
扩展,这就是为什么会出现错误
Fatal error: Class 'MongoClient' not found
在MongoDB PHP驱动程序github repo上,关于版本1.0.0的发行说明建议开发人员使用MongoDB\Driver\Manager
而不是MongoClient
Changes from our legacy mongo extension
最重要的是,遗留驱动程序的MongoClient、MongoDB和
Source:: 100
下面是the replacement class documentation条,以及应该取代你的代码片段:
$m = new MongoDB\Driver\Manager("mongodb://localhost:27017");
由于文档提示,该类已被弃用.
Warning此定义此类的扩展已弃用.相反
Source: 100
从我读到的on their github repository release history篇文章中,你try 使用的类已经从mongodb 1.0.0
版本被淘汰了,所以,在1.6.0
版本中,这个类甚至不再是dll
的一部分.
这一点得到了this issue on their github%的证实
德里克于4月16日发表 comments
MongoClient是一个古老的遗留类
您需要安装旧的遗留扩展(pecl安装)
Source: 100
正如上面引用的MongoDB成员所建议的,另一种方法是使用pecl扩展名:https://pecl.php.net/package/mongo而不是https://pecl.php.net/package/mongodb,但请注意其中的警告:
该软件包已被取代,但仍保留有漏洞和安全修复程序.