调用未定义的方法mongodb driver server :: executereadCommand()



我们的应用程序正在(非常(旧的mongodb 2.4群集运行 - 目前,无法将其升级到更新版本。

我们正在努力将应用程序从php 5.6升级到PHP7,直到MongoDB驱动程序的1.4.0版本不推荐使用MongoDB 2.4支持。

由于我们需要支持2.4,因此我尝试将驱动程序版本滚动到1.3.01.3.2,并且两个都在抛出此错误:

Call to undefined method MongoDBDriverServer::executeReadCommand()

executeReadCommand()似乎是1.4.0的东西,但是如果我使用版本1.3.0,那怎么样?我想念什么吗?

PHP配置:

PHP 7.1.12 (cli) (built: Dec  1 2017 01:55:23) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.1.12, Copyright (c) 1999-2017, by Zend Technologies
    with Xdebug v2.6.0, Copyright (c) 2002-2018, by Derick Rethans

mongo驱动程序配置:

root@6f40fb118d2d:/var/www/app# php --ri mongodb | grep version
MongoDB extension version => 1.3.0
libbson bundled version => 1.8.0
libmongoc bundled version => 1.8.0

嗯,当然,有些东西缺少!

发布此信息后,我注意到我完全忘记了composer.json中的mongodb/mongodb版本,因此作曲家始终下载库的最新版本,即1.3.0

mongodb/mongodb在其1.3.0版本中也对 2.4的支持弃用。

我能够通过将mongodbmongodb的版本锁定至composer.json中的1.2.0

"mongodb/mongodb": "1.2.0"

希望这对可能面临同一问题的人有帮助。

欢呼

您应该检查是否安装了Mongo DB扩展名并可用。使用PECL安装:

// Old version
sudo pecl install mongo
// New version
sudo pecl install mongodb

您应该添加&quot = mongodb.so;到php.ini

相关内容

  • 没有找到相关文章

最新更新