TL;DR
La classe MongoClient
fait partie de l'ancien package PECL mongo mais plus du package mongodb à jour.
Et puisque vous avez le mongodb
extension installée, et non le mongo
un, c'est pourquoi vous obtenez l'erreur
Fatal error: Class 'MongoClient' not found
Sur le référentiel github du pilote PHP MongoDB, la note de version sur la version 1.0.0 suggère aux développeurs d'utiliser MongoDB\Driver\Manager
au lieu de MongoClient
Modifications par rapport à notre ancienne extension mongo
Plus important encore, les classes MongoClient, MongoDB et MongoCollection du pilote hérité ont été rendues obsolètes par la classe MongoDB\Driver\Manager, qui est la nouvelle passerelle pour connecter et exécuter des requêtes, des commandes et des opérations d'écriture.
Alors, voici la documentation de la classe de remplacement et l'extrait de code qui devrait remplacer la vôtre :
$m = new MongoDB\Driver\Manager("mongodb://localhost:27017");
Comme la documentation le demande, la classe est obsolète.
Avertissement Cette extension qui définit cette classe est obsolète. Au lieu de cela, l'extension MongoDB doit être utilisée. Les alternatives à cette classe incluent :
- MongoDB\Driver\Manager
D'après ce que j'ai lu sur l'historique des versions de leur référentiel github, la classe que vous essayez d'utiliser est obsolète depuis la version de mongodb 1.0.0
, donc, sur la version 1.6.0
vous l'êtes, cette classe ne fait même pas partie de la dll
plus.
Cela est confirmé par ce problème sur leur github
derickr a commenté le 16 avril
MongoClient est une classe de l'ancien legacydriver et n'est pas censé être disponible dans celui-ci. Le nouveau pilote a \MongoDB\Driver\Manager et la bibliothèque qui l'accompagne a\MongoDB\Client.
Vous devez soit installer l'ancienne extension héritée (pecl installmongo) et utiliser PHP 5.x, soit mettre à jour votre code pour utiliser les classes de ce nouveau pilote car l'ancien pilote n'est pas disponible pour PHP 7. Il existe un guide de mise à niveau sur http:// mongodb.github.io/mongo-php-library/upgrade-guide/
Une autre façon, comme suggéré par le membre MongoDB cité ci-dessus est d'utiliser cette extension pecl :https://pecl.php.net/package/mongo au lieu de https://pecl.php.net/package/mongodb mais s'il vous plaît aussi notez l'avertissement indiquant :
Ce package a été remplacé, mais est toujours maintenu pour les bogues et les correctifs de sécurité.