J'utilise php version 7.0 sur Ubuntu 16.04. Je donne des informations détaillées sur l'installation du pilote / client mongo. J'ai d'abord installé manuellement mongodb puis le pilote mongodb-php pour cela.
1) Installation de mongo db. Entrez les commandes suivantes:
$ 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
Pour lancer correctement Mongdb en tant que service, c'est-à-dire démarrer automatiquement Mongodb au démarrage du système, procédez comme suit:
Créez le fichier mongodb.service dans / etc / systemd / system / en entrant la commande:
$ sudo nano /etc/systemd/system/mongodb.service
Collez-y le contenu suivant:
[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
Saisissez ensuite les commandes suivantes:
$ sudo systemctl start mongodb
$ sudo systemctl enable mongodb
2) Installation du pilote mongo-php:
$ sudo pecl install mongodb
Vous pourriez également recevoir une erreur: phpize introuvable. Phpize est une commande qui est utilisée pour créer un environnement de construction. Cette erreur peut apparaître au moment de l'installation de n'importe quelle extension pecl. Pour résoudre ce problème de la commande phpize introuvable, l'utilisateur doit installer le package php5-dev. Pour l'installer, entrez la commande:
$ sudo apt-get install php7.0-dev
Ensuite, dans le fichier php.ini qui se trouve dans le répertoire /etc/php/7.0/apache2, ajoutez l'extension mongo db:
$ sudo nano /etc/php/7.0/apache2/php.ini
Ajoutez la ligne suivante dans le fichier:
extension = mongo.so;
(Vous devrez peut-être spécifier l'emplacement exact du fichier. Dans mon cas, le fichier se trouvait dans /usr/lib/php/20151012/mongodb.so.)
Ainsi, le mongo db est installé avec son pilote.
3) Gardez maintenant à l'esprit que les classes de mongo-php ont été modifiées. La plupart des ressources disponibles sur le net proposent des solutions utilisant d'anciennes classes qui sont remplacées. Voici les liens auxquels vous pouvez vous référer:
http://php.net/manual/en/set.mongodb.php
http://zetcode.com/db/mongodbphp/
Voici quelques commandes pour les opérations de base de la base de données:
$mng = new MongoDB\Driver\Manager(); // Driver Object created
Pour insérer des données dans la base de données:
$bulk = new MongoDB\Driver\BulkWrite;
$doc = ["_id" => new MongoDB\BSON\ObjectID, "data" => $someData, "info" => $someInfo];
$bulk->insert($doc);
$mng->executeBulkWrite('dbName.collectionName', $bulk);
Pour récupérer des données:
$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
aussi mais je n'ai pas obtenu de résultat positif