web-dev-qa-db-ja.com

クラス 'MongoDB \ Client'が見つかりません、mongodb拡張機能がインストールされています

次のコードを実行して新しいモンゴ接続を作成しようとしました

$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() です

皆様のご協力に感謝いたします。ありがとうございました!

10
Lê Gia Lễ

PHPの最新のMongoDB拡張機能を使用している場合、拡張機能への主要なエントリポイントは MongoDB\Driver\Manager です。

以下は、最新の拡張子を使用してデータを取得するためのサンプルコードです。

testColltestDbコレクションがあるとします。拡張の 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
        )

)
23
dikesh

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

3
Rust

同じことが私にも起こりました。サーバーにインストールされているphpのバージョンを確認してください。 PHPバージョン5.6を使用する必要があります。より正確なエラーの詳細を取得するには、apcheエラーログを確認してください。

1
Prabal Thakur

インストールするだけの簡単な方法

Sudo apt-get install php-mongodb

mongoをインストールした後

0
Sumit Manchanda