TL;DR
La clase MongoClient
es parte del paquete PECL heredado mongo pero ya no del paquete mongodb actualizado.
Y como tienes el mongodb
extensión instalada, y no el mongo
uno, es por eso que está recibiendo el error
Fatal error: Class 'MongoClient' not found
En MongoDB PHP driver github repo, la nota de lanzamiento sobre la versión 1.0.0 sugiere a los desarrolladores que usen MongoDB\Driver\Manager
en lugar de MongoClient
Cambios de nuestra extensión heredada de mongo
Lo más significativo es que las clases MongoClient, MongoDB y MongoCollection del controlador heredado han quedado obsoletas por la clase MongoDB\Driver\Manager, que es la nueva puerta de enlace para conectar y ejecutar consultas, comandos y operaciones de escritura.
Entonces, aquí está la documentación de la clase de reemplazo y el fragmento de código que debería reemplazar el suyo:
$m = new MongoDB\Driver\Manager("mongodb://localhost:27017");
Como la documentación lo solicita, la clase está en desuso.
Advertencia Esta extensión que define esta clase está en desuso. En su lugar, se debe utilizar la extensión MongoDB. Las alternativas a esta clase incluyen:
- MongoDB\Controlador\Administrador
Por lo que leí en su historial de lanzamiento del repositorio de github, la clase que está tratando de usar ha quedado obsoleta desde la versión de mongodb 1.0.0
, entonces, en la versión 1.6.0
eres, esta clase ni siquiera es parte de la dll
más.
Eso está confirmado por este problema en su github
derickr comentó el 16 de abril
MongoClient es una clase del antiguo controlador heredado y se supone que no está disponible en este. El nuevo controlador tiene \MongoDB\Driver\Manager y la biblioteca que lo acompaña tiene \MongoDB\Client.
Debe instalar la antigua extensión heredada (pecl installmongo) y usar PHP 5.x, o actualizar su código para usar las clases de este nuevo controlador, ya que el controlador anterior no está disponible para PHP 7. Hay una guía de actualización en http:// mongodb.github.io/mongo-php-library/upgrade-guide/
Otra forma, como sugiere el miembro de MongoDB citado aquí arriba, es usar esta extensión de pecl:https://pecl.php.net/package/mongo en lugar de https://pecl.php.net/package/mongodb pero también observe la advertencia allí que dice:
Este paquete ha sido reemplazado, pero aún se mantiene para errores y correcciones de seguridad.