php mongodb ubuntu-13.10

¿La forma más sencilla de instalar la extensión PHP de Mongodb en Ubuntu 13.10(saucy)?



ubuntu-13.10 (4)

En Ubuntu 14.04, sudo apt-get install php5-mongo da como resultado una extensión PHP completamente funcional. Así que supongo que solo hay un problema de empaquetado en Ubuntu 13.10 que causa el problema.

Solución : Use Ubuntu 14.04 LTS en lugar de Ubuntu 13.10.

Pero, si tiene que usar Ubuntu 13.10, no use el paquete php5-mongo Ubuntu, instale la extensión mongo a través de 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

Estoy usando Ubuntu 13.10 (salamandra picante) y esperaba que sudo apt-get install php5-mongo fuera suficiente para instalar el controlador de la base de datos mongodb.

Aunque no hay tal suerte. Estoy usando php5-fpm, así que en primer lugar descubrí que también necesitaba hacer php5enmod mongo pero incluso con eso, obtengo un error:

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

En su lugar, para instalar tengo que hacer lo siguiente (que utiliza mucho más espacio en disco):

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

Mi pregunta es ¿por qué sudo apt-get install php5-mongo suficiente? ¿Es un problema con el repositorio de Ubuntu? ¿Cómo puedo buscar en los repositorios de ubuntu y encontrar qué versión usa o por MongoClient.php no se incluye MongoClient.php ? Estoy usando la imagen docker de " ubuntu:saucy " como mi base e incluye el universo por defecto, creo.


Esto parece ser un problema de empaquetado en Ubuntu.

¿Instalaste PHP5-fpm a través de apt-get también? Parece que hay una desconexión entre la forma en que instaló PHP5 y el archivo php.ini que el paquete php5-mongo está intentando actualizar.

En cuanto a la include(MongoClient.php): failed to open stream error de include(MongoClient.php): failed to open stream ; Es debido a su autoloader. Cuando haces un new MongoClient cuando la extensión no está habilitada, llega a tu carga automática, que intenta incluir un archivo llamado <classname>.php


La forma más fácil de instalar el controlador mongoDB para php5 en ubuntu es usar el comando:

sudo apt-get install php5-mongo

Atención, el controlador está instalado correctamente pero aún no está cargado, por lo que debe reiniciar absolutamente el servidor, si el uso de apache debería hacer:

sudo service apache2 restart


También hay una buena manera de instalar la base de datos mongo para PHP. Tengo ubuntu 14.04LTS.

open synaptic package manager and search "mongo"

Seleccione estos paquetes para instalar.

  • php-horde-mongo
  • php-mongo

Haga clic en Aplicar para instalar los paquetes.

Ahora reinicie apache2 usando este comando.

sudo service apache2 restart

Prueba el mongo

cree el archivo PHP con el nombre mongo-test.php y pegue este código allí.

<?php // connect to mongodb $m = new MongoClient(); echo "Connection to database successfully"; // select a database $db = $m->mydb; echo "Database mydb selected"; ?>

prueba esta URL http://localhost/mongo-test.php