我使用最新的PHP版本7.2在macOS Mojave/macOS大苏尔/macOS蒙特雷和接收错误,如
$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-
安装失败,恢复./composer.json到其原始内容。
不确定我错过了安装步骤。如果有人能帮我解决这个作曲家问题,我将不胜感激。提前谢谢。
编写器需要mongodb/mongodb——忽略平台需求
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
作曲家需要jenssecers/mongodb--忽略平台reqs
它解决了我的问题。
通过在终端上运行此命令来安装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服务。
使用WAMP时会发生此错误,因为存在唯一的php。用于WAMP和CMD的ini。
因此,您可能已将mongo ext添加到WAMP php中。ini,因此它看起来好像正在运行并包含在已启用扩展的列表中。但是,这对命令行php不可用。ini,还需要确认正在运行的PHP的CMD版本
扩展=php_mongodb
为了确认您已经成功,您的mongo ext将显示在phpinfo()中,如果您在CMD上运行php-m
,它将显示在呈现列表中
composer require jenssegers/mongodb --ignore-platform-reqs
上面的方法是不正确的,因为它会在将来的其他软件包、更新和/或安装中产生问题。