MongoDB: Fatal error: Class 'MongoClient' not found
TL;DR
The class MongoClient
is part of the legacy PECL package mongo but not anymore of the up-to-date mongodb package.
And since you have the mongodb
extension installed, and not the mongo
one, this is why you are getting the error
Fatal error: Class 'MongoClient' not found
On MongoDB PHP driver github repo, the release note about the version 1.0.0, is suggesting developers to use MongoDB\Driver\Manager
instead of MongoClient
Changes from our legacy mongo extension
Most significantly, the legacy driver's MongoClient, MongoDB, andMongoCollection classes have been obsoleted by theMongoDB\Driver\Manager class, which is the new gateway for connectingand executing queries, commands, and write operations.
Source:: https://github.com/mongodb/mongo-php-driver/releases/tag/1.0.0
So, here is the replacement class documentation and the snippet of code that should replace yours :
$m = new MongoDB\Driver\Manager("mongodb://localhost:27017");
As the documentation is prompting it, the class is deprecated.
Warning This extension that defines this class is deprecated. Instead,the MongoDB extension should be used. Alternatives to this classinclude:
Source: http://php.net/MongoClient
From what I read on their github repository release history, the class you are trying to use have been obsoleted since the version of mongodb 1.0.0
, so, on the version 1.6.0
you are, this class is not even part of the dll
anymore.
That is confirmed by this issue on their github
derickr commented on Apr 16
MongoClient is a class from the old legacydriver and is not supposed to be available in this one. The new driverhas \MongoDB\Driver\Manager, and, the accompanying library has\MongoDB\Client.
You either need to install the old legacy extension (pecl installmongo) and use PHP 5.x, or update your code to use this new driver'sclasses as the old driver is not available for PHP 7. There is anupgrade guide athttp://mongodb.github.io/mongo-php-library/upgrade-guide/
Source: https://github.com/mongodb/mongo-php-driver/issues/300#issuecomment-210820288
Another way, as suggested by the MongoDB member quoted here above is to use this pecl extension: https://pecl.php.net/package/mongo instead of https://pecl.php.net/package/mongodb but please also notice the warning there stating:
This package has been superseded, but is still maintained for bugs and security fixes.