22

I want to use the MongoDB Driver, but it throw me an error, when i use it:

$mongo = new MongoDB\Driver\Manager("mongodb://localhost:27017");

The error:

Message: Class 'MongoDB\Driver\Manager' not found

When i check it with the php_info(), i see, there is enter image description here

Is there any requirement to use the driver?

tthlaszlo
  • 435
  • 2
  • 7
  • 14

7 Answers7

31

There is some confusion between the Mongo extension and the MongoDB extension which are not the same. Because of your version number, I guess you are using the old Mongo extension that is deprecated.

Make sure that you install the new MongoDB extension and you should be fine. Don't forget to remove the old extension=mongo.so from your php.ini since this could cause problems.

simon
  • 2,896
  • 1
  • 17
  • 22
18

For me, I forgot to add extension=mongodb.so to the php.ini for FPM (FastCGI Process Manager). On Ubuntu 16.04 this was at:

/etc/php/7.0/fpm/php.ini

For what it's worth I'm using nginx.

Ryan DuVal
  • 3,774
  • 2
  • 21
  • 15
11

1.Add mongo DB

$sudo apt update && sudo apt install php-mongodb
  1. Restart apache server,

  2. check in phpinfo() for mongo

abhishek kumar
  • 448
  • 4
  • 10
7

How to install on macOS Mojave

Start with:

sudo pecl install mongodb

To check if mongodb package is installed, look for "mongodb" when you run:

pecl list

To get your installed mongodb.so path, run:

pecl list-files mongodb | grep mongodb.so

then remove (or comment out) on your php.ini file:

extension="mongodb.so"

(I could not found a line with extension="php_mongodb.so")

now insert a line with:

extension="{{the path to your installed mongodb.so}}"

Run this command to get your ext-*.ini directory path:

php -i | grep Scan

Create your ext-mongodb.ini with:

touch {{your conf.d path}}/ext-mongodb.ini

like:

touch /usr/local/etc/php/7.1/conf.d/ext-mongodb.ini

Restart your apache to read the new configuration

Sanity check with:

php -i | grep mongodb

You're ready to go.

Adiii
  • 54,482
  • 7
  • 145
  • 148
Habib Mammadov
  • 311
  • 4
  • 4
3

If you get this error, even after you installed the Mongodb driver for php, just install mongodb using composer.

composer require mongodb/mongodb

After that this will solve your problem.

1

This error is because of php_mongodb.dll file is missing in the etc folder and add to the php.ini file like(extension=php_mongodb.dll) . Because of this I got this error. It will rectify my error

Adiii
  • 54,482
  • 7
  • 145
  • 148
0

Might be your CLI version of php is different ,check php version in terminal using php -v. and then switch accordingly... FOR EX-:

From PHP 7.1 => PHP 5.6

$ sudo update-alternatives --set php /usr/bin/php5.6.

I hope it will help you guys.

Pradeep
  • 9,667
  • 13
  • 27
  • 34