pecl/mongo要求PHP版本必须在5.3.0及以上,且不能高于5.99.99,但当前安装的版本是7.0.4-7ubuntu2.1。未找到有效的软件包,安装失败。

9
我想连接Lampp到MongoDB,所以我需要安装MongoDB客户端,我执行了sudo pecl install mongo,但是出现以下消息:

PHP警告:PHP启动时无法加载动态库'/usr/lib/php/20151012/mongo.so' - /usr/lib/php/20151012/mongo.so: undefined symbol: zval_used_for_init in Unknown on line 0 PHP警告:PHP启动时无法加载动态库'/usr/lib/php/20151012/php_mongo.dll' - /usr/lib/php/20151012/php_mongo.dll: cannot open shared object file: No such file or directory in Unknown on line 0 警告:"pecl/mongo"已被弃用,应使用"channel:///mongodb" pecl/mongo要求PHP (version >= 5.3.0, version <= 5.99.99),已安装版本为7.0.4-7ubuntu2.1 没有找到有效的包,安装失败,请问如何纠正此错误

2个回答

16

mongo 是旧版驱动程序,不兼容 PHP 7,你需要使用新版本的驱动程序 mongodb

注:这段内容是关于 IT 技术的 MongoDB 数据库的 PHP 驱动程序更换的说明。

1
Thinks,你能告诉我如何使用新的mongodb驱动程序吗? - Sarah
我在 /opt/lampp/bin 文件夹下执行了以下操作:sudo pecl install mongodb,然后它就运行成功了 :) - Sarah
现在,我尝试使用数据库mongodb测试xampp连接,因此我创建了一个名为sample.php的文件,其中包含以下代码: <?php echo "<h2>成功连接到数据库</h2>"; $m=new MongoClient(); echo "<h2>成功连接到数据库</h2>"; $db=$m -> loginproject; echo "<h2>成功连接到数据库$db</h2>"; ?> - Sarah
当我运行localhost/sample.php时,我发现这个错误:致命错误:在/opt/lampp/htdocs/sample.php的第3行找不到类“MongoClient”;请帮助我纠正这个错误。 - Sarah
你有看我发的文档吗?MongoClient是旧驱动程序中的内容,在新驱动程序中不可用。 - malarzm
来自 https://github.com/FriendsOfSymfony/FOSOAuthServerBundle/blob/master/.travis.yml 的 pecl install -f mongodb-stable 使用示例。 - Daniel

3
很简单,您只需要将其更改为sudo pecl install mongodb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接