Comment installer l'extension PHP Mongodb dans Ubuntu 16.04 LTS

18

J'utilise Ubuntu 16.04 LTS et je veux utiliser Mongodb avec PHP. Pour cela, je pensais que sudo apt-get install php5-mongo (ce qui est suffisant pour Ubuntu 14.04 LTS) serait suffisant, mais je me suis trompé. Je reçois une erreur comme celle-ci E: Unable to locate package php5-mongo .

Je viens de mettre à jour Ubuntu 16.04 LTS et je veux utiliser mongodb avec PHP . La version de PHP en cours d'exécution est PHP Version 7.0.4-7ubuntu2 .

Que puis-je faire pour résoudre ce problème?

    
posée Vikash Kumar 29.04.2016 - 23:01
la source

5 réponses

40

Pour l'installer, faites:

sudo apt-get install php-mongodb
    
réponse donnée Videonauth 29.04.2016 - 23:15
la source
5

Je suis sûr que vous avez trouvé une solution maintenant. Cependant je veux partager comment je l'ai fait:

  • Installé php 5.6 sur Ubuntu 16 (@see lien )
  • a ensuite exécuté sudo apt-get install php5.6-mongo
réponse donnée chickenchilli 25.11.2016 - 01:07
la source
3

J'utilise la version 7.0 de PHP 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.

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, suivez les étapes suivantes:

Créez le fichier mongodb.service dans / etc / systemd / system / en entrant la commande:

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

Collez 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

Entrez 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 utilisée pour créer un environnement de construction. Cette erreur pourrait apparaître au moment de l'installation de toute extension pecl. Pour résoudre ce problème de la commande phpize introuvable, l'utilisateur doit installer le paquet php5-dev. Pour l'installer, entrez la commande:

 $ sudo apt-get install php7.0-dev

Puis, 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.)

Le mongo db est donc installé avec son pilote.

3) N'oubliez pas que les classes mongo-php ont été modifiées. La plupart des ressources disponibles sur le net fournissent des solutions utilisant d'anciennes classes qui sont remplacées. Vous trouverez ci-dessous les liens auxquels vous pouvez vous référer:

lien

lien

Voici quelques commandes pour les opérations de base de données de base:

$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";
    }
    
réponse donnée Pransh Tiwari 04.04.2017 - 19:26
la source
0

ou pour php 7

sudo apt-get install php7.0-mongodb
    
réponse donnée Albert s 28.09.2016 - 02:14
la source
0

J'utilise ceci sur mon fichier Docker:

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 \
    
réponse donnée MauricioOtta 27.02.2017 - 07:23
la source

Lire d'autres questions sur les étiquettes