在这里,我发现了一个奇怪的情况。我一直在项目中使用PHP和MongoDB,并更新了相关的软件。升级后,我确实更新了新的conf文件,一切都很好---除非我尝试使用MongoClient
类,否则会出现以下致命错误:
致命错误:未捕获错误:类' MongoClient'在/srv/http/test.php中找不到
所以我的第一直觉是检查我的/etc/php/php.ini
以确保正确包含mongodb.so。我在其他extension
行之后找到了它:
extension=mcrypt.so
extension=zip.so
extension=mongodb.so ; <--- here it is
选中此选项后,我加载了一个快速phpinfo()
脚本来检查我是否使用了正确的php.ini
文件,并确认我是。不仅如此,mongodb驱动程序似乎也正确加载了!
Loaded Configuration File /etc/php/php.ini
. . .
mongodb support enabled
mongodb version 1.1.1
mongodb stability stable
libmongoc version 1.3.1-dev
libbson version 1.3.0
所以我重新启动了httpd并再次尝试。没有骰子,仍然无法找到MongoClient
类。所以我尝试从pecl
而不是我的发行版包管理器安装它,情况与上面描述的相同。
所以这里有一个快速概述的情况:
phpinfo()
。pecl
和我的发行版程序包管理器安装mongodb驱动程序。其他可能有用的信息:
mongod
正在运行答案 0 :(得分:5)
我找到了答案。
课程已经改变。它不再是\MongoClient
,现在是\MongoDB\Driver\Manager
我需要的只是一个重构器。新驱动程序被设计为用于填充用户空间库的高级功能的低级驱动程序,因此任何其他人都升级到php7,请确保检查您是否对新驱动程序或用户空间感到满意当你这样做时,库就存在了。希望这个问题/答案在将来帮助其他人。
下面的评论者ianaz已经为MongoDB发布了这个优秀的用户空间库:http://mongodb.github.io/mongo-php-library/