2017-05-09 17 views
0

私は端末に app/console doctrine:mongodb:schema:updateを実行しようとするとき、私はこの問題を持っている:PHP: "MongoClient"クラスが見つかりませんか?

[symfonyの\コンポーネント\デバッグ\例外の\にClassNotFoundException] は、グローバル名前空間からクラス「MongoClient」をロードしようとしました。 "使用"ステートメントを忘れましたか?

私が見つけたものすべてを試しました。 誰もが私を助けることができますか?

+2

'extension = mongodb.so'を' php.ini'ファイルに追加しましたか? – Pila

+1

php.iniでintl拡張が有効になっていることを確認してください。それが私のトリックでした。 –

+0

'\ MongoClient'は' mongo'(https://pecl.php.net/package/mongo)と呼ばれる従来のドライバから来ており、現在の 'mongodb'ではなく、インストールする必要があります(' db'の違いは末尾) – malarzm

答えて

0

Doctrine MongoDB ODMを使用しているのがわかります。 Doctrine MongoDB ODMは、従来のmongoドライバext-mongoに依存しています。これはPHP5.6までしか利用できません。 PHPを5.6まで使用している場合は、PHPをインストールして有効にするだけです。

あなたは新しいモンゴドライバーext-mongodbをインストールして、ここで述べたように、新しいライブラリとの教義のMongoDB ODMを埋めるためにポリフィルを使用する必要がPHP7の+使用している場合:http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/reference/introduction.html#using-php-7

をあなたは教義にMongoDBを使用することができますPHP 7でODMしますが、インストール中にいくつかの追加ステップがあります。レガシードライバ(ext-mongoと呼ばれる)はPHP 7で利用できないため、新しいドライバ(ext-mongodb)がインストールされていて、従来のドライバのAPIを提供するためにpolyfillを使用する必要があります。

関連する問題