当前位置:  开发笔记 > 编程语言 > 正文

将PHP升级到版本7后,为什么我不能使用mongodb驱动程序?

如何解决《将PHP升级到版本7后,为什么我不能使用mongodb驱动程序?》经验,为你挑选了1个好方法。

那么这是我发现的一个奇怪的情况.我一直在项目中使用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/



1> dotVezz..:

好吧,我找到了答案.

班级已经改变了.它不再\MongoClient是现在\MongoDB\Driver\Manager

我需要的只是一个重构器.新的驱动程序被设计为一个较低级别的驱动程序,用于填充用户空间库的高级功能,因此任何其他人都升级到php7,请确保检查您是否对新驱动程序或用户空间感到满意当你这样做时,库就存在了.希望这个问题/答案能够在将来帮助其他人.

下面的Commenter ianaz已经为MongoDB发布了这个优秀的用户空间库:http://mongodb.github.io/mongo-php-library/

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有