我在macOS Mojave上使用最新的php版本7.2,并收到类似
的错误 $composer require mongodb/mongodb
Using version ^1.4 for mongodb/mongodb
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
有关问题的更多信息:请参见屏幕截图
您的要求无法解决为一组可安装的 包。
问题1 -mongodb / mongodb v1.4.x-dev需要ext-mongodb ^ 1.5.0->系统中缺少所请求的PHP扩展mongodb。 -mongodb / mongodb 1.5.x-dev需要ext-mongodb ^ 1.6->系统中缺少所请求的PHP扩展mongodb。 -mongodb / mongodb 1.4.2需要ext-mongodb ^ 1.5.0->您的系统中缺少所请求的PHP扩展mongodb。 -mongodb / mongodb 1.4.1要求ext-mongodb ^ 1.5.0->系统中缺少所请求的PHP扩展mongodb。 -mongodb / mongodb 1.4.0需要ext-mongodb ^ 1.5.0->系统中缺少所请求的PHP扩展mongodb。 **-mongodb / mongodb ^ 1.4的安装请求-> mongodb / mongodb [1.4.0,1.4.1,1.4.2,1.5.x-dev,v1.4.x-dev]可以满足。
安装失败,将./composer.json恢复为其原始内容。
不确定我错过了哪些安装步骤。如果有人可以帮助我解决这个作曲家问题,我将不胜感激。提前谢谢。
答案 0 :(得分:4)
我在 Ubuntu 18.0.4(Bionic)上使用 PHP版本7.4.4 (适用于Linux的XAMPP 7.4.4) 以下命令解决了我的问题
composer require mongodb/mongodb --ignore-platform-reqs
答案 1 :(得分:0)
composer require mongodb/mongodb --ignore-platform-reqs
composer require jenssegers/mongodb --ignore-platform-reqs
Using version ^3.4 for jenssegers/mongodb
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 2 installs, 0 updates, 0 removals
- Installing mongodb/mongodb (1.4.2): Downloading (100%)
- Installing jenssegers/mongodb (v3.4.5): Downloading (100%)
jenssegers/mongodb suggests installing jenssegers/mongodb-session (Add MongoDB session support to Laravel-MongoDB)
jenssegers/mongodb suggests installing jenssegers/mongodb-sentry (Add Sentry support to Laravel-MongoDB)
Writing lock file
Generating optimized autoload files
composer require jenssegers/mongodb --ignore-platform-reqs
它解决了我的问题。
答案 2 :(得分:0)
通过在终端上运行此命令来安装PHP扩展。
sudo pecl install mongodb
最后,您将看到以下信息。
Build process completed successfully
Installing '/usr/local/Cellar/php/7.3.3/pecl/20180731/mongodb.so'
install ok: channel://pecl.php.net/mongodb-1.5.3
Extension mongodb enabled in php.ini
,然后重新启动PHP服务。
答案 3 :(得分:0)
使用 WAMP 时会发生此错误,因为 WAMP 和 CMD 有一个唯一的 php.ini。
因此,您可能已将 mongo-ext 添加到 WAMP php.ini 中,因此它看起来好像正在运行并包含在启用的扩展列表中。但是,这对命令行 php.ini 不可用,您还需要确认您正在运行的 PHP 的 CMD 版本
extension=php_mongodb
为了确认您已成功,您的 mongo-ext 将显示在您的 phpinfo() 中,如果您在 CMD 上运行 php -m
,它将显示在渲染列表中
composer require jenssegers/mongodb --ignore-platform-reqs
以上不是正确的方法,因为它会在未来的其他软件包、更新和/或安装中产生问题。