次のコードを実行して新しいモンゴ接続を作成しようとしました
$m = new MongoDB\Client();
そして私はこのエラーを受け取りました:
致命的なエラー:クラス 'MongoDB\Client'が見つかりません
mongoDB拡張機能を適切にインストールしたと思います(php_mongodb.dllをextフォルダーにコピーし、php.iniをextension = php_mongodb.dllで更新しました)。
次のコードは、それがロードされていることを確認します。
echo extension_loaded("mongodb") ? "loaded\n" : "not loaded\n";
それでも同じエラーが発生します。
これが phpinfo() です
皆様のご協力に感謝いたします。ありがとうございました!
PHPの最新のMongoDB拡張機能を使用している場合、拡張機能への主要なエントリポイントは MongoDB\Driver\Manager
です。
以下は、最新の拡張子を使用してデータを取得するためのサンプルコードです。
testColl
にtestDb
コレクションがあるとします。拡張の MongoDB\Driver\Query
クラスを使用してデータを取得できます。
// Manager Class
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
// Query Class
$query = new MongoDB\Driver\Query(array('age' => 30));
// Output of the executeQuery will be object of MongoDB\Driver\Cursor class
$cursor = $manager->executeQuery('testDb.testColl', $query);
// Convert cursor to Array and print result
print_r($cursor->toArray());
出力:
Array
(
[0] => stdClass Object
(
[_id] => MongoDB\BSON\ObjectID Object
(
[oid] => 5848f1394cea9483b430d5d2
)
[name] => XXXX
[age] => 30
)
)
PHP 7.1.9を使用していますが、この問題が発生しました。mongodb/mongodb
を削除して再インストールすることで解決しました
composer remove mongodb/mongodb
composer require mongodb/mongodb
また、Dreamweaverを使用している場合は、サーバーコピーにvendor
フォルダーを配置しないでください。
インストール後、MongoDB\Client
を使用できるようになりました。
mongodb APIバージョン1.3、Mongodb拡張1.4
同じことが私にも起こりました。サーバーにインストールされているphpのバージョンを確認してください。 PHPバージョン5.6を使用する必要があります。より正確なエラーの詳細を取得するには、apcheエラーログを確認してください。
インストールするだけの簡単な方法
Sudo apt-get install php-mongodb
mongoをインストールした後