TL; DR
クラスMongoClient
はレガシーPECLパッケージmongoの一部ですが、最新のmongodbパッケージには含まれていません。
そして、あなたはmongodb
を持っているので mongo
ではなく、拡張機能がインストールされています 1つは、これがエラーが発生する理由です
Fatal error: Class 'MongoClient' not found
MongoDB PHPドライバーのgithubリポジトリでは、バージョン1.0.0に関するリリースノートで、開発者がMongoDB\Driver\Manager
を使用することを提案しています。 MongoClient
の代わりに
従来のmongo拡張機能からの変更
最も重要なことは、レガシードライバーのMongoClient、MongoDB、およびMongoCollectionクラスは、クエリ、コマンド、および書き込み操作を接続して実行するための新しいゲートウェイであるMongoDB \ Driver\Managerクラスによって廃止されたことです。
したがって、これが置換クラスのドキュメントと、置換する必要のあるコードのスニペットです:
$m = new MongoDB\Driver\Manager("mongodb://localhost:27017");
ドキュメントがそれを促しているので、クラスは非推奨になっています。
警告 このクラスを定義するこの拡張機能は非推奨です。代わりに、MongoDB拡張機能を使用する必要があります。このクラスの代替案は次のとおりです。
- MongoDB \ Driver \ Manager
githubリポジトリのリリース履歴で読んだところによると、使用しようとしているクラスは、mongodb 1.0.0
のバージョン以降廃止されています。 、つまり、バージョン1.6.0
では あなたは、このクラスはdll
の一部でもありません もう。
それは彼らのgithubのこの問題によって確認されています
derickrが4月16日にコメントしました
MongoClientは、古いレガシードライバーのクラスであり、このクラスでは使用できないはずです。新しいドライバーには\MongoDB\ Driver \ Managerがあり、付随するライブラリには\ MongoDB\Clientがあります。
古いレガシー拡張機能(pecl installmongo)をインストールしてPHP 5.xを使用するか、古いドライバーがPHP 7で使用できないため、この新しいドライバーのクラスを使用するようにコードを更新する必要があります。アップグレードガイドはhttp://にあります。 mongodb.github.io/mongo-php-library/upgrade-guide/
別の方法として、上記で引用したMongoDBメンバーが提案しているように、https://pecl.php.net/package/mongodbの代わりにhttps://pecl.php.net/package/mongoというpecl拡張機能を使用することもできます。そこに次のような警告があることに注意してください:
このパッケージは置き換えられましたが、バグとセキュリティ修正のために引き続き維持されています。