2016-05-02 21 views
9

provo ad installare la dottrina/mongodb-odm [1.0.5] oltre compositore ma mi scendephp70-mongo installare dottrina/mongodb-odm riesce

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]. 

estensione mongo è già installato

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 

cosa è andato storto in questo caso?

risposta

28

Su PHP7 avete l'estensione mongodb come @xaben menzionata. È possibile utilizzare questo con la dottrina fino a che non supporta mongodb ma con l'installazione di libreria aggiuntiva https://github.com/alcaeus/mongo-php-adapter

Per prima cosa installare tramite compositore:

composer require alcaeus/mongo-php-adapter 

e successivamente installare dottrina. Funziona molto bene nel mio caso.

+1

Grazie, funziona molto bene nel mio caso! –

+1

Questa soluzione è anche raccomandata nelle note ufficiali sulla versione http://www.doctrine-project.org/2016/02/16/doctrine-mongodb-odm-release-1.0.5.html – edigu

+0

Funziona magnificamente su PHP 7.1 usando Symfony 3.2 e Doctrine ODM 1.1 –

5

PHP ha 2 estensioni per MongoDB:

  1. L'eredità quella che si trova a http://php.net/manual/en/book.mongo.php
  2. quello attuale http://php.net/manual/en/set.mongodb.php

In caso di "dottrina/mongodb-odm" si aspetta di trovare il precedente "mongo" ma quello che hai installato è il più recente "mongodb".

Per utilizzare l'estensione legacy è necessario utilizzare php < = 5,6, per php 7 è disponibile solo mongodb.

+0

Grazie per il feedback. Ho seguito le istruzioni per reinstallare ma ho ancora la stessa uscita. – deroccha

+0

OMG, stavo per impazzire alla grande, mi hai salvato la vita! –

0

ho avuto il problema, ma installo e di configurazione di symfony 3.1 con PHP 5.6 e MySQL, Dopo installatore necessità MongoDB, così udpate 7.1

problema composer.json:

"config": { 
    "platform": {"php": "5.6"} 
} 

Cambio:

"config": { 
    "platform": {"php": "7.1"} 
}