简体   繁体   中英

$ Composer can't find mongodb extension, required Mongodb extension

I'm using with latest php version 7.2 on macOS Mojave / macOS Big Sur / macOS Monterey / macOS Ventura and receiving error like

 $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].

Installation failed, reverting ./composer.json to its original content.

I have already installed mongoDB extension still receiving problem在此处输入图像描述

Not sure what I've missed steps to installation. If anyone can help me with this composer problem, I'd greatly appreciate it. in advance Thanks.

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 It solved my problem.

Install PHP extension by running this command on your terminal.

sudo pecl install mongodb

At the end, you will see following information.

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

and then restart your PHP service.

This error will happen when using WAMP as there is an unique php.ini for WAMP and CMD.

So you might have added the mongo-ext to your WAMP php.ini and so it looks as though it is running and included in the enabled extension's list. However, this is not available to the command line php.ini and also you need to confirm the CMD version of PHP you are running

  • You can confirm your CMD PHP version in the windows ENV variable "path"
  • If the CMD php version is not the same as the version you have included your mongo-ext, you will have to either install the mongo-ext into that version of PHP or change your path variable to point to the version of PHP you are currently using
  • Then ensure that the extension=php_mongodb is setup in both your WAMP and CMD version of php.ini

In order to confirm you have been successful your mongo-ext will show in your phpinfo() and if you run php -m on the CMD it will show in the rendered list

composer require jenssegers/mongodb --ignore-platform-reqs

The above is not the correct way to do it, as it will create problems into the future with other packages, updates and/or installs.

Please check if mongodb modules is installed

php -m

Go to the installation directory and run the below command ( it will take some time)

composer require mongodb/mongodb --ignore-platform-reqs

This will ignore the MongoDB required packages & rest will be installed.

If you want the MongoDB Module to be installed then execute the below command

sudo apt-get install php-mongodb

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM