php70-mongo 安装 doctrine/mongodb-odm 失败
php70-mongo install doctrine/mongodb-odm fails
我尝试在 composer 上安装 doctrine/mongodb-odm[1.0.5] 但让我失望
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
这个案例出了什么问题?
PHP 有 2 个 MongoDB 的扩展名:
在 "doctrine/mongodb-odm" 的情况下,它希望找到旧版 "mongo" 但您安装的是较新的 "mongodb"。
要使用旧版扩展,您需要使用 php <= 5.6,因为 php 7 只有 mongodb 可用。
在 PHP7 上,您有 mongodb
扩展名,如@xaben 所述。您可以将其与学说一起使用,直到它支持 mongodb
,但通过安装额外的库 https://github.com/alcaeus/mongo-php-adapter
首先通过 composer 安装:
composer require alcaeus/mongo-php-adapter
然后安装学说。对我来说效果很好。
我遇到了问题,但是使用 php 5.6 和 mysql 安装和配置 symfony 3.1,在需要安装程序 mongodb 之后,所以更新 7.1
问题composer.json:
"config": {
"platform": {"php": "5.6"}
}
变化:
"config": {
"platform": {"php": "7.1"}
}
我尝试在 composer 上安装 doctrine/mongodb-odm[1.0.5] 但让我失望
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
这个案例出了什么问题?
PHP 有 2 个 MongoDB 的扩展名:
在 "doctrine/mongodb-odm" 的情况下,它希望找到旧版 "mongo" 但您安装的是较新的 "mongodb"。
要使用旧版扩展,您需要使用 php <= 5.6,因为 php 7 只有 mongodb 可用。
在 PHP7 上,您有 mongodb
扩展名,如@xaben 所述。您可以将其与学说一起使用,直到它支持 mongodb
,但通过安装额外的库 https://github.com/alcaeus/mongo-php-adapter
首先通过 composer 安装:
composer require alcaeus/mongo-php-adapter
然后安装学说。对我来说效果很好。
我遇到了问题,但是使用 php 5.6 和 mysql 安装和配置 symfony 3.1,在需要安装程序 mongodb 之后,所以更新 7.1
问题composer.json:
"config": {
"platform": {"php": "5.6"}
}
变化:
"config": {
"platform": {"php": "7.1"}
}