那么这是我发现的一个奇怪的情况.我一直在项目中使用PHP和MongoDB,并更新了相关的软件.升级后,我确实更新了新的conf文件,一切都很好---除非我尝试使用MongoClient
该类,否则会出现以下致命错误:
致命错误:未捕获错误:/srv/http/test.php中找不到类'MongoClient'
所以我的第一直觉就是检查我/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
我的发行版的包管理器安装它,情况与上面描述的相同.
所以这里是一个快速概述的情况:
Linux内核4.3.3
PHP版本7.0.1
php-mongodb 1.1.1版
是的,1.1.1支持php7.
似乎配置正确,mongodb已启用并显示在中phpinfo()
.
尝试通过pecl
我的发行版包管理器安装mongodb驱动程序.
其他可能有用的信息:
MongoDB版本3.2.0
mongod
在跑
也试过重启,没有变化.
dotVezz.. 5
好吧,我找到了答案.
班级已经改变了.它不再\MongoClient
是现在\MongoDB\Driver\Manager
我需要的只是一个重构器.新的驱动程序被设计为一个较低级别的驱动程序,用于填充用户空间库的高级功能,因此任何其他人都升级到php7,请确保检查您是否对新驱动程序或用户空间感到满意当你这样做时,库就存在了.希望这个问题/答案能够在将来帮助其他人.
下面的Commenter ianaz已经为MongoDB发布了这个优秀的用户空间库:http://mongodb.github.io/mongo-php-library/
好吧,我找到了答案.
班级已经改变了.它不再\MongoClient
是现在\MongoDB\Driver\Manager
我需要的只是一个重构器.新的驱动程序被设计为一个较低级别的驱动程序,用于填充用户空间库的高级功能,因此任何其他人都升级到php7,请确保检查您是否对新驱动程序或用户空间感到满意当你这样做时,库就存在了.希望这个问题/答案能够在将来帮助其他人.
下面的Commenter ianaz已经为MongoDB发布了这个优秀的用户空间库:http://mongodb.github.io/mongo-php-library/