$ Composer 找不到 mongodb 扩展,需要 Mongodb 扩展
$ Composer can't find mongodb extension, required Mongodb extension
我在 macOS Mojave / macOS Big Sur / macOS Monterey 上使用最新的 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)
For more information about question : see the screenshoot
Your requirements could not be resolved to an installable set of
packages.
Problem 1
- mongodb/mongodb v1.4.x-dev requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb is missing from your system.
- mongodb/mongodb 1.5.x-dev requires ext-mongodb ^1.6 -> the requested PHP extension mongodb is missing from your system.
- mongodb/mongodb 1.4.2 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb is missing from your system.
- mongodb/mongodb 1.4.1 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb is missing from your system.
- mongodb/mongodb 1.4.0 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb is missing from your system.
**- Installation request for mongodb/mongodb ^1.4 -> satisfiable by mongodb/mongodb[1.4.0, 1.4.1, 1.4.2, 1.5.x-dev, v1.4.x-dev].
安装失败,正在将 ./composer.json 还原为其原始内容。
我已经安装了 mongoDB 扩展仍然收到问题
不确定我错过了什么安装步骤。如果有人可以帮助我解决这个作曲家问题,我将不胜感激。提前谢谢。
composer require mongodb/mongodb --ignore-platform-reqs
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
它解决了我的问题。
在您的终端上通过 运行 此命令安装 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 时会发生此错误,因为 WAMP 和 CMD 有唯一的 php.ini。
所以您可能已经将 mongo-ext 添加到您的 WAMP php.ini 中,所以它看起来好像是 运行ning 并且包含在启用的扩展列表中。但是,这不适用于命令行 php.ini 并且您还需要确认 PHP 您使用的是 运行ning
的 CMD 版本
- 您可以在 windows ENV 变量“路径”
中确认您的 CMD PHP 版本
- 如果 CMD php 版本与您包含的版本不同
mongo-ext,您必须将 mongo-ext 安装到该版本的 PHP 或更改您的路径变量以指向您当前使用的 PHP 版本使用
- 然后确保在 php.ini
的 WAMP 和 CMD 版本中都设置了 extension=php_mongodb
为了确认您已经成功,您的 mongo-ext 将显示在您的 phpinfo() 中,如果您在 CMD 上 运行 php -m
将显示在渲染列表中
composer require jenssegers/mongodb --ignore-platform-reqs
以上不是正确的方法,因为它会在未来与其他包、更新 and/or 安装产生问题。
请检查是否安装了 mongodb 个模块
php -m
进入安装目录并运行下面的命令(需要一些时间)
composer require mongodb/mongodb --ignore-platform-reqs
这将忽略 MongoDB 所需的包,其余的将被安装。
如果你想安装 MongoDB 模块然后执行下面的命令
sudo apt-get install php-mongodb
我在 macOS Mojave / macOS Big Sur / macOS Monterey 上使用最新的 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)
For more information about question : see the screenshoot
Your requirements could not be resolved to an installable set of packages.
Problem 1 - mongodb/mongodb v1.4.x-dev requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb is missing from your system. - mongodb/mongodb 1.5.x-dev requires ext-mongodb ^1.6 -> the requested PHP extension mongodb is missing from your system. - mongodb/mongodb 1.4.2 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb is missing from your system. - mongodb/mongodb 1.4.1 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb is missing from your system. - mongodb/mongodb 1.4.0 requires ext-mongodb ^1.5.0 -> the requested PHP extension mongodb is missing from your system. **- Installation request for mongodb/mongodb ^1.4 -> satisfiable by mongodb/mongodb[1.4.0, 1.4.1, 1.4.2, 1.5.x-dev, v1.4.x-dev].
安装失败,正在将 ./composer.json 还原为其原始内容。
我已经安装了 mongoDB 扩展仍然收到问题
不确定我错过了什么安装步骤。如果有人可以帮助我解决这个作曲家问题,我将不胜感激。提前谢谢。
composer require mongodb/mongodb --ignore-platform-reqs
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
它解决了我的问题。
在您的终端上通过 运行 此命令安装 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 时会发生此错误,因为 WAMP 和 CMD 有唯一的 php.ini。
所以您可能已经将 mongo-ext 添加到您的 WAMP php.ini 中,所以它看起来好像是 运行ning 并且包含在启用的扩展列表中。但是,这不适用于命令行 php.ini 并且您还需要确认 PHP 您使用的是 运行ning
的 CMD 版本- 您可以在 windows ENV 变量“路径” 中确认您的 CMD PHP 版本
- 如果 CMD php 版本与您包含的版本不同 mongo-ext,您必须将 mongo-ext 安装到该版本的 PHP 或更改您的路径变量以指向您当前使用的 PHP 版本使用
- 然后确保在 php.ini 的 WAMP 和 CMD 版本中都设置了
extension=php_mongodb
为了确认您已经成功,您的 mongo-ext 将显示在您的 phpinfo() 中,如果您在 CMD 上 运行 php -m
将显示在渲染列表中
composer require jenssegers/mongodb --ignore-platform-reqs
以上不是正确的方法,因为它会在未来与其他包、更新 and/or 安装产生问题。
请检查是否安装了 mongodb 个模块
php -m
进入安装目录并运行下面的命令(需要一些时间)
composer require mongodb/mongodb --ignore-platform-reqs
这将忽略 MongoDB 所需的包,其余的将被安装。
如果你想安装 MongoDB 模块然后执行下面的命令
sudo apt-get install php-mongodb