Come installare l'estensione Mongodb PHP in Ubuntu 16.04 LTS

18

Sto usando Ubuntu 16.04 LTS e voglio usare Mongodb con PHP. Per questo ho pensato che sudo apt-get install php5-mongo (che è abbastanza per Ubuntu 14.04 LTS) sarebbe sufficiente ma ho sbagliato. Sto ricevendo un errore come questo E: Unable to locate package php5-mongo .

Ho appena aggiornato a Ubuntu 16.04 LTS e voglio usare mongodb con PHP . L'esecuzione della versione di PHP è PHP Version 7.0.4-7ubuntu2 .

Quindi cosa posso fare per risolvere questo?

    
posta Vikash Kumar 29.04.2016 - 23:01

5 risposte

41

Per installarlo fai:

sudo apt-get install php-mongodb
    
risposta data Videonauth 29.04.2016 - 23:15
5

Sono sicuro che hai trovato una soluzione ormai. Comunque voglio condividere come l'ho fatto:

  • Installato php 5.6 su Ubuntu 16 (@see link )
  • quindi ha eseguito sudo apt-get install php5.6-mongo
risposta data chickenchilli 25.11.2016 - 01:07
3

Sto usando php versione 7.0 su Ubuntu 16.04. Fornisco informazioni dettagliate per l'installazione del driver / client mongo. Per prima cosa ho installato manualmente mongodb e poi il driver mongodb-php per questo.

1) Installazione di mongo db. Inserisci i seguenti comandi:

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

$ sudo apt-get update

$ sudo apt-get install -y mongodb-org

Per avviare correttamente Mongdb come servizio, ovvero avviare automaticamente Mongodb all'avvio del sistema, procedi nel seguente modo:

Crea il file mongodb.service in / etc / systemd / system / inserendo il comando:

$ sudo nano /etc/systemd/system/mongodb.service

Incolla i seguenti contenuti in esso:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

Quindi inserisci i seguenti comandi:

$ sudo systemctl start mongodb

$ sudo systemctl enable mongodb

2) Installazione del driver mongo-php:

$ sudo pecl install mongodb

Potresti ricevere anche l'errore: phpize non trovato. Phpize è un comando che viene utilizzato per creare un ambiente di compilazione. Questo errore potrebbe apparire al momento dell'installazione di qualsiasi estensione pecl. Per risolvere questo problema del comando phpize non trovato, l'utente deve installare il pacchetto php5-dev. Per installarlo, inserisci il comando:

 $ sudo apt-get install php7.0-dev

Quindi nel file php.ini che si trova nella directory /etc/php/7.0/apache2, aggiungi l'estensione dong mongo:

$ sudo nano /etc/php/7.0/apache2/php.ini 

Aggiungi la seguente riga nel file:

extension = mongo.so;

(Potrebbe essere necessario specificare la posizione esatta del file. Nel mio caso il file era in /usr/lib/php/20151012/mongodb.so.)

Quindi mongo db è installato insieme al suo driver.

3) Ora tieni presente che le classi mongo-php sono state modificate. La maggior parte delle risorse disponibili in rete fornisce soluzioni che utilizzano vecchie classi superate. Di seguito sono riportati i collegamenti a cui è possibile fare riferimento:

link

link

Ecco alcuni comandi per le operazioni di base del database:

$mng = new MongoDB\Driver\Manager(); // Driver Object created

Per inserire dati nel database:

$bulk = new MongoDB\Driver\BulkWrite;

$doc = ["_id" => new MongoDB\BSON\ObjectID, "data" => $someData, "info" => $someInfo];

$bulk->insert($doc);

$mng->executeBulkWrite('dbName.collectionName', $bulk);

Per scaricare i dati:

$query = new MongoDB\Driver\Query([]); 

$rows = $mng->executeQuery("dbName.collectionName", $query);

foreach ($rows as $row) 
    {
         echo "$row->data - $row->info\n";
    }
    
risposta data Pransh Tiwari 04.04.2017 - 19:26
0

o per php 7

sudo apt-get install php7.0-mongodb
    
risposta data Albert s 28.09.2016 - 02:14
0

Lo sto usando sul mio Dockerfile:

echo 'deb http://packages.dotdeb.org jessie all' >> /etc/apt/sources.list
echo 'deb-src http://packages.dotdeb.org jessie all' >> /etc/apt/sources.list
curl -OL https://www.dotdeb.org/dotdeb.gpg \
    && apt-key add dotdeb.gpg \
    && rm dotdeb.gpg
apt-get update -y \
    && apt-get install -y \
        php7.0 \
        php7.0-mongodb \
    
risposta data MauricioOtta 27.02.2017 - 07:23

Leggi altre domande sui tag