我使用以下命令在 Ubuntu 18.04 和 php 7.4.10 上安装了 mongodb 驱动程序
sudo pecl install mongodb
Run Code Online (Sandbox Code Playgroud)
还添加extension=mongodb.so到我的 php.ini 中。然后,我输入以下命令,因为我需要 mongodb 来运行项目。
composer require mongodb/mongodb
Run Code Online (Sandbox Code Playgroud)
以下错误是该命令的输出:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- mongodb/mongodb 1.7.0 requires ext-mongodb ^1.8 -> the requested PHP extension mongodb has the wrong version (1.7.4) installed.
- mongodb/mongodb 1.7.0 requires ext-mongodb ^1.8 -> the requested PHP extension mongodb has the wrong version (1.7.4) installed.
- mongodb/mongodb 1.7.0 requires ext-mongodb ^1.8 -> the requested PHP extension mongodb has the wrong version (1.7.4) installed.
- Installation request for mongodb/mongodb ^1.7 -> satisfiable by mongodb/mongodb[1.7.0].
Run Code Online (Sandbox Code Playgroud)
这显然是一个兼容性问题。我的MongoDB扩展是1.7.4版本,composer需要是^1.8。
sudo php --ri mongodb | grep version
MongoDB extension version => 1.7.4
libbson bundled version => 1.16.2
libmongoc bundled version => 1.16.2
libmongocrypt bundled version => 1.0.3
pecl search mongo
Matched packages, channel pecl.php.net:
=======================================
Package Stable/(Latest) Local
mongo 1.6.16 (stable) MongoDB database driver
mongodb 1.8.0 (stable) 1.8.0 MongoDB driver for PHP
Run Code Online (Sandbox Code Playgroud)
有谁知道如何更新我的 MongoDB 扩展?我在任何地方都找不到这个信息。