Estoy usando php versión 7.0 en ubuntu 16.04. Estoy dando una información detallada para instalar el controlador / cliente mongo. Primero instalé manualmente mongodb y luego el controlador mongodb-php para ello.
1) Instalación de mongo db. Ingrese los siguientes comandos:
$ 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
Para iniciar correctamente Mongdb como servicio, es decir, iniciar automáticamente Mongodb cuando se inicia el sistema, siga los siguientes pasos:
Cree el archivo mongodb.service en / etc / systemd / system / ingresando el comando:
$ sudo nano /etc/systemd/system/mongodb.service
Pegue los siguientes contenidos en él:
[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
Luego ingrese los siguientes comandos:
$ sudo systemctl start mongodb
$ sudo systemctl enable mongodb
2) Instalación del controlador mongo-php:
$ sudo pecl install mongodb
También puede recibir un error: phpize no encontrado. Phpize es un comando que se utiliza para crear un entorno de compilación. Este error podría aparecer en el momento de la instalación de cualquier extensión pecl. Para resolver este problema del comando phpize no encontrado, el usuario debe instalar el paquete php5-dev. Para instalarlo ingrese el comando:
$ sudo apt-get install php7.0-dev
Luego, en el archivo php.ini que se encuentra en el directorio /etc/php/7.0/apache2, agregue la extensión mongo db:
$ sudo nano /etc/php/7.0/apache2/php.ini
Agregue la siguiente línea en el archivo:
extensión = mongo.so;
(Es posible que deba especificar la ubicación exacta del archivo. En mi caso, el archivo estaba en /usr/lib/php/20151012/mongodb.so).
Entonces el mongo db se instala junto con su controlador.
3) Ahora tenga en cuenta que las clases mongo-php han cambiado. La mayoría de los recursos disponibles en la red dan soluciones utilizando clases antiguas que se reemplazan. A continuación se encuentran los enlaces a los que puede referirse:
http://php.net/manual/en/set.mongodb.php
http://zetcode.com/db/mongodbphp/
Aquí hay algunos comandos para las operaciones básicas de la base de datos:
$mng = new MongoDB\Driver\Manager(); // Driver Object created
Para insertar datos en la base de datos:
$bulk = new MongoDB\Driver\BulkWrite;
$doc = ["_id" => new MongoDB\BSON\ObjectID, "data" => $someData, "info" => $someInfo];
$bulk->insert($doc);
$mng->executeBulkWrite('dbName.collectionName', $bulk);
Para buscar datos:
$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
pero no obtuve ningún resultado positivo