web-dev-qa-db-fra.com

Le moyen le plus simple d'installer Mongodb PHP dans Ubuntu 13.10 (impertinent)?

J'utilise Ubuntu 13.10 (salamandre grivoise) et j'espérais que Sudo apt-get install php5-mongo suffirait pour installer le pilote de la base de données mongodb.

Mais pas de chance. J'utilise php5-fpm, donc tout d'abord j'ai trouvé que je devais aussi faire php5enmod mongo mais même avec ça, j'obtiens une erreur:

include(MongoClient.php): failed to open stream: No such file or directory

Au lieu de cela, pour installer, je dois faire ce qui suit (qui utilise beaucoup plus d'espace disque):

 Sudo apt-get install php5-dev make php-pear
 Sudo pecl install mongo
 Sudo echo "extension=mongo.so" | tee /etc/php5/mods-available/mongo.ini

Ma question est pourquoi n'est-ce pas Sudo apt-get install php5-mongo assez? Est-ce un problème avec le repo Ubuntu? Comment puis-je consulter les référentiels ubuntu et trouver quelle version il utilise ou pourquoi MongoClient.php n'est pas inclus. J'utilise le "ubuntu:saucy "image docker comme base et elle inclut l'univers par défaut je pense.

20
Tom

Dans Ubuntu 14.04, Sudo apt-get install php5-mongo se traduit par un mongo pleinement fonctionnel PHP. Donc je suppose qu'il y a juste un problème d'empaquetage dans Ubuntu 13.10 qui cause le problème.

Solution: Utilisez Ubuntu 14.04 LTS au lieu d'Ubuntu 13.10.

Mais, si vous avez pour utiliser Ubuntu 13.10, n'utilisez pas le php5-mongo Paquet Ubuntu, installez plutôt l'extension mongo via pecl:

Sudo apt-get install php5-dev make php-pear
Sudo pecl install mongo
Sudo echo "extension=mongo.so" | Sudo tee /etc/php5/mods-available/mongo.ini
35
Tom

Le plus simple pour installer le pilote mongoDB pour php5 dans ubuntu est d'utiliser la commande:

Sudo apt-get install php5-mongo

Attention, le pilote est correctement installé mais pas encore chargé, donc devrait absolument redémarrer le serveur, si vous utilisez Apache devrait faire:

Sudo service Apache2 restart
34
Yassine Khachlek

Il existe également un bon moyen d'installer la base de données Mongo pour PHP. J'ai Ubuntu 14.04LTS.

open synaptic package manager and search "mongo"

sélectionnez ces packages à installer.

  • php-horde-mongo
  • php-mongo

synaptic package manager

cliquez sur appliquer pour installer les packages.

Redémarrez maintenant Apache2 à l'aide de cette commande.

Sudo service Apache2 restart

Testez le mongo

créez le fichier PHP avec le nom mongo-test.php et collez-y ce code.

<?php
   // connect to mongodb
   $m = new MongoClient();

   echo "Connection to database successfully";
   // select a database
   $db = $m->mydb;

   echo "Database mydb selected";
?>

tester cette URL http: //localhost/mongo-test.php

3
Hafiz Shehbaz Ali

Cela semble être un problème d'emballage dans Ubuntu.

Avez-vous également installé PHP5-fpm via apt-get? Il semble qu'il y ait un décalage entre la façon dont vous avez installé PHP5 et le fichier php.ini que le package php5-mongo essaie de mettre à jour.

Quant à l'erreur include(MongoClient.php): failed to open stream; c'est à cause de votre chargeur automatique. Lorsque vous faites new MongoClient Lorsque l'extension n'est pas activée, elle frappe votre chargement automatique qui essaie d'inclure un fichier appelé <classname>.php

2
bjori