2016-06-21 9 views
0

MongoDBに問題があります。私はsymfonyのアプリケーションでMongoDBBundleをインストールしたいが、作曲はエラーを返す:PHP7とSymfony3のMongoDB

Problem 1 
- Installation request for doctrine/mongodb 1.4.x-dev -> satisfiable by doctrine/mongodb[1.4.x-dev]. 
- doctrine/mongodb 1.4.x-dev requires ext-mongo ^1.5 -> the requested PHP extension mongo is missing from your system. 


Problem 2 
- doctrine/mongodb-odm 1.1.0 requires doctrine/mongodb ~1.3 -> satisfiable by doctrine/mongodb[1.3.x-dev, 1.4.x-dev]. 
- doctrine/mongodb-odm 1.0.0 requires doctrine/mongodb ~1.2 -> satisfiable by doctrine/mongodb[1.2.x-dev, 1.3.x-dev, 1.4.x-dev]. 
- doctrine/mongodb-odm 1.0.1 requires doctrine/mongodb ~1.2 -> satisfiable by doctrine/mongodb[1.2.x-dev, 1.3.x-dev, 1.4.x-dev]. 
- doctrine/mongodb-odm 1.0.2 requires doctrine/mongodb ~1.2 -> satisfiable by doctrine/mongodb[1.2.x-dev, 1.3.x-dev, 1.4.x-dev]. 
- doctrine/mongodb-odm 1.0.3 requires doctrine/mongodb ~1.2 -> satisfiable by doctrine/mongodb[1.2.x-dev, 1.3.x-dev, 1.4.x-dev]. 
- doctrine/mongodb-odm 1.0.4 requires doctrine/mongodb ~1.2 -> satisfiable by doctrine/mongodb[1.2.x-dev, 1.3.x-dev, 1.4.x-dev]. 
- doctrine/mongodb-odm 1.0.5 requires doctrine/mongodb ~1.2 -> satisfiable by doctrine/mongodb[1.2.x-dev, 1.3.x-dev, 1.4.x-dev]. 
- doctrine/mongodb-odm 1.0.6 requires doctrine/mongodb ~1.2 -> satisfiable by doctrine/mongodb[1.2.x-dev, 1.3.x-dev, 1.4.x-dev]. 
- doctrine/mongodb 1.3.x-dev requires ext-mongo ^1.5 -> the requested PHP extension mongo is missing from your system. 
- doctrine/mongodb 1.2.x-dev requires ext-mongo ^1.2.12 -> the requested PHP extension mongo is missing from your system. 
- doctrine/mongodb 1.4.x-dev requires ext-mongo ^1.5 -> the requested PHP extension mongo is missing from your system. 
- Installation request for doctrine/mongodb-odm ~1.0 -> satisfiable by doctrine/mongodb-odm[1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.6, 1.1.0]. 
To enable extensions, verify that they are enabled in those .ini files: 
- /etc/php/7.0/cli/php.ini 
- /etc/php/7.0/cli/conf.d/10-mysqlnd.ini 
- /etc/php/7.0/cli/conf.d/10-opcache.ini 
- /etc/php/7.0/cli/conf.d/10-pdo.ini 
- /etc/php/7.0/cli/conf.d/15-xml.ini 
- /etc/php/7.0/cli/conf.d/20-apcu.ini 
- /etc/php/7.0/cli/conf.d/20-apcu_bc.ini 
- /etc/php/7.0/cli/conf.d/20-calendar.ini 
- /etc/php/7.0/cli/conf.d/20-ctype.ini 
- /etc/php/7.0/cli/conf.d/20-curl.ini 
- /etc/php/7.0/cli/conf.d/20-dom.ini 
- /etc/php/7.0/cli/conf.d/20-exif.ini 
- /etc/php/7.0/cli/conf.d/20-fileinfo.ini 
- /etc/php/7.0/cli/conf.d/20-ftp.ini 
- /etc/php/7.0/cli/conf.d/20-gettext.ini 
- /etc/php/7.0/cli/conf.d/20-iconv.ini 
- /etc/php/7.0/cli/conf.d/20-intl.ini 
- /etc/php/7.0/cli/conf.d/20-json.ini 
- /etc/php/7.0/cli/conf.d/20-mcrypt.ini 
- /etc/php/7.0/cli/conf.d/20-mongodb.ini 
- /etc/php/7.0/cli/conf.d/20-mysqli.ini 
- /etc/php/7.0/cli/conf.d/20-pdo_mysql.ini 
- /etc/php/7.0/cli/conf.d/20-phar.ini 
- /etc/php/7.0/cli/conf.d/20-posix.ini 
- /etc/php/7.0/cli/conf.d/20-readline.ini 
- /etc/php/7.0/cli/conf.d/20-shmop.ini 
- /etc/php/7.0/cli/conf.d/20-simplexml.ini 
- /etc/php/7.0/cli/conf.d/20-sockets.ini 
- /etc/php/7.0/cli/conf.d/20-sysvmsg.ini 
- /etc/php/7.0/cli/conf.d/20-sysvsem.ini 
- /etc/php/7.0/cli/conf.d/20-sysvshm.ini 
- /etc/php/7.0/cli/conf.d/20-tokenizer.ini 
- /etc/php/7.0/cli/conf.d/20-wddx.ini 
- /etc/php/7.0/cli/conf.d/20-xdebug.ini 
- /etc/php/7.0/cli/conf.d/20-xmlreader.ini 
- /etc/php/7.0/cli/conf.d/20-xmlwriter.ini 
- /etc/php/7.0/cli/conf.d/20-xsl.ini 
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode. 

拡張子が欠落していないのMongoDBので、私はこのエラーを理解していません。私は、このコマンドでこの拡張機能をインストールしている: はPECLのMongoDB

をインストールし、私はphp -mとPHPモジュールのロードを一覧表示する場合:

[PHP Modules] 
apc 
apcu 
calendar 
Core 
ctype 
curl 
date 
dom 
exif 
fileinfo 
filter 
ftp 
gettext 
hash 
iconv 
intl 
json 
libxml 
mcrypt 
mongodb 
mysqli 
mysqlnd 
openssl 
pcntl 
pcre 
PDO 
pdo_mysql 
Phar 
posix 
readline 
Reflection 
session 
shmop 
SimpleXML 
sockets 
SPL 
standard 
sysvmsg 
sysvsem 
sysvshm 
tokenizer 
wddx 
xdebug 
xml 
xmlreader 
xmlwriter 
xsl 
Zend OPcache 
zlib 

私はこのソリューション試してみてください。

echo "extension=mongodb.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"` 

をしかし、それはあります解決策ではありません。

ありがとうございました。

Thibault。

答えて

0
doctrine/mongodb 1.4.x-dev requires ext-mongo ^1.5 

EXT-モンゴは、レガシーのMongoDBドライバ(\ MongoClient)です。 ext-mongoは決してZend 3(PHP7)に移植されませんでした。 で動作する新しいMongoドライバは、PHP7(PECL経由でインストールしたもの)で動作します。ext-mongodbです。これは、MongoDB用のDoctrineドライバではサポートされていません。 PHP 5.6の新しいモンゴ延長、またはダウングレードで動作し、EXT-モンゴをインストールしないDoctrineのドライバを見つける:

は、次の2つの選択肢があります。

currently open issue on support for the new extensionがあります。

+0

わかりました。 – Oneill

0

は、ライン延長=あなたのCLIのphp.iniファイルでmongo.so、およびコメントを外しますか?すべてのphp.iniファイルをチェックする価値があります。この問題は、明らかに、同様のSymfony 2を思い付いた:Can't install mongodb doctrine in symfony2 with composer

+0

ライン延長= mongo.soは、「PHPの-m」はこの警告を返しコメント解除されます。PHPの警告:モジュール「MongoDBの」は既に行0 – Oneill

+0

フンに不明にロードされました。それは2つのmongoの拡張のように聞こえる...しかし、Fiskieの投稿から、これはDoctrine、Mongo、PHP 7の既知の問題であるようです... –

0

わかりました。 PHP 5.6にダウングレードするには、apt-get php7.0を削除します。 apt-get php5.6をインストールします。 composer.jsonの必要はありますか?

"require": { 
    "php": ">=5.5.9", 
    "symfony/symfony": "3.1.*", 
    "doctrine/orm": "^2.5", 
    "doctrine/doctrine-bundle": "^1.6", 
    "doctrine/doctrine-cache-bundle": "^1.2", 
    "symfony/swiftmailer-bundle": "^2.3", 
    "symfony/monolog-bundle": "^2.8", 
    "symfony/polyfill-apcu": "^1.0", 
    "sensio/distribution-bundle": "^5.0", 
    "sensio/framework-extra-bundle": "^3.0.2", 
    "incenteev/composer-parameter-handler": "^2.0", 
    "friendsofsymfony/user-bundle": "2.0.x-dev", 
    "mongodb/mongodb": "dev-master", 
    "alcaeus/mongo-php-adapter": "dev-composer-replace", 
    "doctrine/mongodb": "1.4.x-dev", 
    "doctrine/mongodb-odm": "~1.0", 
    "doctrine/mongodb-odm-bundle": "~3.0" 
},