gpt4 book ai didi

php - 调用未定义的方法 MongoDB\Driver\Server::executeReadCommand()

转载 作者:可可西里 更新时间:2023-11-01 10:11:41 27 4
gpt4 key购买 nike

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

我们正在努力将我们的应用程序从 PHP 5.6 升级到 PHP7,一切都很好,直到 the version 1.4.0 of the mongodb driver deprecated MongoDB 2.4 support .

由于我们需要支持2.4,我尝试将驱动程序版本回滚到1.3.01.3.2 以及两者正在抛出此错误:

调用未定义的方法 MongoDB\Driver\Server::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 的版本,所以 composer 总是下载最新版本的库,即 1.3.0

mongodb/mongodb 在其 1.3.0 release 中也弃用了对 2.4 的支持.

我能够通过在 composer.json 中将 mongodb\mongodb 的版本锁定为 1.2.0 来解决这个问题:

"mongodb/mongodb": "1.2.0"

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

干杯

关于php - 调用未定义的方法 MongoDB\Driver\Server::executeReadCommand(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48807940/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com