Sto usando php versione 7.0 su Ubuntu 16.04. Fornisco informazioni dettagliate per l'installazione del driver / client mongo. Prima ho installato manualmente mongodb e poi il driver mongodb-php per questo.
1) Installazione di mongo db. Immettere 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, attenersi alla seguente procedura:
Creare il file mongodb.service in / etc / systemd / system / immettendo 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 immettere i seguenti comandi:
$ sudo systemctl start mongodb
$ sudo systemctl enable mongodb
2) Installazione del driver mongo-php:
$ sudo pecl install mongodb
Inoltre potresti ricevere un errore: phpize non trovato. Phpize è un comando 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 mongo db:
$ 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 il mongo db viene installato insieme al suo driver.
3) Ora tieni presente che le classi mongo-php sono state cambiate. La maggior parte delle risorse disponibili in rete fornisce soluzioni utilizzando vecchie classi sostituite. Di seguito sono riportati i collegamenti a cui è possibile fare riferimento:
http://php.net/manual/en/set.mongodb.php
http://zetcode.com/db/mongodbphp/
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 recuperare i dati:
$query = new MongoDB\Driver\Query([]);
$rows = $mng->executeQuery("dbName.collectionName", $query);
foreach ($rows as $row)
{
echo "$row->data - $row->info\n";
}
sudo apt-get install php7-mongo
anche io, ma non ho ottenuto alcun risultato positivo