TL;DR
A classe
MongoClient
faz parte do pacote PECL legado mongo, mas não mais do pacote mongodb atualizado. E como você tem o
mongodb
extensão instalada, e não o mongo
um, é por isso que você está recebendo o erro Fatal error: Class 'MongoClient' not found
No repositório github do driver MongoDB PHP, a nota de lançamento sobre a versão 1.0.0 sugere que os desenvolvedores usem
MongoDB\Driver\Manager
em vez de MongoClient
Alterações da nossa extensão mongo legada
Mais significativamente, as classes MongoClient, MongoDB e MongoCollection do driver legado foram obsoletas pela classe MongoDB\Driver\Manager, que é o novo gateway para conectar e executar consultas, comandos e operações de gravação.
Então, aqui está a documentação da classe de substituição e o trecho de código que deve substituir o seu:
$m = new MongoDB\Driver\Manager("mongodb://localhost:27017");
Como a documentação está solicitando, a classe está obsoleta.
Aviso Esta extensão que define esta classe está obsoleta. Em vez disso, a extensão MongoDB deve ser usada. Alternativas para esta classe incluem:
- MongoDB\Driver\Manager
Pelo que li no histórico de lançamento do repositório do github, a classe que você está tentando usar ficou obsoleta desde a versão do
mongodb 1.0.0
, portanto, na versão 1.6.0
você é, essa classe nem faz parte da dll
não mais. Isso é confirmado por este problema em seu github
derickr comentou em 16 de abril
MongoClient é uma classe do antigo driver legacy e não deveria estar disponível neste. O novo driver tem \MongoDB\Driver\Manager, e a biblioteca que o acompanha tem\MongoDB\Client.
Você precisa instalar a extensão legada antiga (pecl installmongo) e usar o PHP 5.x, ou atualizar seu código para usar as classes deste novo driver, pois o driver antigo não está disponível para PHP 7. Existe um guia de atualização em http:// mongodb.github.io/mongo-php-library/upgrade-guide/
Outra maneira, como sugerido pelo membro do MongoDB citado aqui acima é usar esta extensão pecl:https://pecl.php.net/package/mongo em vez de https://pecl.php.net/package/mongodb, mas também observe o aviso lá dizendo:
Este pacote foi substituído, mas ainda é mantido para bugs e correções de segurança.