Doctrine/mongodb-odm [1.0.5]をcomposerにインストールしようとしましたが、ドロップしました
Problem 1
- doctrine/mongodb 1.3.0 requires ext-mongo ^1.5 -> the requested PHP extension mongo is missing from your system.
- doctrine/mongodb 1.2.2 requires ext-mongo ^1.2.12 -> the requested PHP extension mongo is missing from your system.
- doctrine/mongodb 1.2.1 requires ext-mongo ^1.2.12 -> the requested PHP extension mongo is missing from your system.
- doctrine/mongodb 1.2.0 requires ext-mongo ^1.2.12 -> the requested PHP extension mongo is missing from your system.
- doctrine/mongodb-odm 1.0.5 requires doctrine/mongodb ~1.2 -> satisfiable by doctrine/mongodb[1.2.0, 1.2.1, 1.2.2, 1.3.0].
- Installation request for doctrine/mongodb-odm ~1.0.5 -> satisfiable by doctrine/mongodb-odm[1.0.5].
mongo拡張機能はすでにインストールされています
php -i | grep mongo
/usr/local/etc/php/7.0/conf.d/ext-mongodb.ini
mongodb
mongodb support => enabled
mongodb version => 1.1.6
mongodb stability => stable
libmongoc version => 1.3.5
mongodb.debug => no value => no value
この場合、何がうまくいかなかったのですか?
PHP7では、@ xabenが述べたようにmongodb
拡張子があります。これは、mongodb
をサポートするまでdoctrineで使用できますが、追加のライブラリをインストールすることで使用できます https://github.com/alcaeus/mongo-php-adapter ==
Composerを介した最初のインストール:
composer require alcaeus/mongo-php-adapter
後でドクトリンをインストールします。私の場合は非常にうまく機能します。
PHPにはMongoDB用に2つの拡張機能があります。
「doctrine/mongodb-odm」の場合、レガシーのもの「mongo」が見つかることを期待していますが、インストールしたのは新しいもの「mongodb」です。
レガシー拡張機能を使用するには、php <= 5.6を使用する必要があります。php7の場合、mongodbのみが使用可能です。
私は問題を抱えていましたが、php5.6とmysqlを使用してsymfony3.1をインストールして構成します。インストーラーmongodbが必要になった後、7.1を更新します。
問題composer.json:
"config": {
"platform": {"php": "5.6"}
}
変化する:
"config": {
"platform": {"php": "7.1"}
}