Instalar y configurar PHP con MongoDB

Configuración del servidor.

El archivo de configuración se encuentra en la ruta /etc/mongodb.conf y el archivo de logs en la ruta /var/log/mongodb/mongodb.log

images

Instalación del driver PHP

apt-get install php-pear

apt-get install php5-dev

apt-get install php5-cli

apt-get install make

Los anteriores paquetes son necesarios para la correcta instalación y compilación de driver, para ello ejecutamos:

sudo pecl install mongo

sudo sh -c ‘echo extension=mongo.so >> /etc/php5/apache2/php.ini’

Si al final devuelve un mensaje como “Build process completed successfully” entonces se tendrá listo el driver y se procederá a realizar las pruebas de funcionamiento.

Verificación en MongoDB.

En MongoDB la programación se inclina al paradigma orientado a objetos. Los datos que se utilizaron en esta prueba fueron obtenidos mediante funciones que devuelven cadenas de texto y de números al azar; con ello simulamos los datos reales de un usuario con su nombre, teléfono etc.

El codigo de conexion y prueba es el siguiente:

<?php
//generar un hash o string aleatorio
function rand_str($length) {
$charset=’ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789′;
$str = ”;
$count = strlen($charset);
while ($length–) {
$str .= $charset[mt_rand(0, $count-1)];
}
return $str;
}

// Configuracion
$dbhost = ‘localhost’;
$dbname = ‘test’;

// Conexion a la base de datos
$m = new Mongo(“mongodb://{$dbhost}”);
$db = $m->$dbname;

// Obtener la coleccion de usuarios
$col_users = $db->users;

//devuelve un array con los datos simulados de un usuario
function get_user_rand(){
$user = array(
‘identificacion’ => time(),        //time() devuelve un numero unico que es un timestamp con el número de segundos desde el inicio de 1970
‘nombres’ => rand_str(10),        //rand_str(<longuitud>) devuelve un hash
‘apellidos’ => rand_str(10),
‘telefonos’ => array(mt_rand(100000, 1000000),mt_rand(100000, 1000000))        //mt_rand(desde, hasta) devulve un numero aleatorio entre los parametros dados
);
return $user;
}

// Insertar los documentos en la base de datos
$n = 10;
while($n–){
$col_users->save(get_user_rand());
}

?>

Al final el resultado que se obtuvo fue el siguiente:

consulta mongodb

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: