Esta extensión está obsoleta. Debe usarse en su lugar la extensión MongoDB.
El controlador de MongoDB para PHP debe funcionar en cualquier sistema: Windows, Mac OS X, Unix, y Linux; en máquinas «little-endian» y «big-endian»; en plataformas de 32 y 64 bits; en PHP 5.3 hasta 5.6 (las versiones anteriores a la 1.6 también admiten PHP 5.2).
Esta extensión » PECL no se distribuye con PHP.
Para los desarrolladores de controladores y los interesados en las últimas correcciones, el controlador se puede compilar desde las últimas versiones en » Github. Ir a Github y presione en el botón "download". Ejecute:
$ tar zxvf mongodb-mongodb-php-driver-<commit_id>.tar.gz $ cd mongodb-mongodb-php-driver-<commit_id> $ phpize $ ./configure $ make all $ sudo make install
Realice los siguientes cambios en php.ini:
Asegúrese de que la variable extension_dir este apuntando al directrio que contiene mongo.so. El build se mostrará dónde se encuetre instalado el controlador de PHP, la salida será algo similar a esto:
Installing '/usr/lib/php/extensions/no-debug-non-zts-20060613/mongo.so'
$ php -i | grep extension_dir extension_dir => /usr/lib/php/extensions/no-debug-non-zts-20060613 => /usr/lib/php/extensions/no-debug-non-zts-20060613
Para cargar la extensión en el arranque de PHP, agregar una línea:
extension=mongo.so
Ejecute:
$ sudo pecl install mongo
Agregar la siguiente línea en el fichero php.ini:
extension=mongo.so
Si pecl se quedará sin memoria al instalar, asegúrese de que memory_limit en php.ini sea de al menos de 32MB.
Los binarios precompilados para cada versión están disponibles en » PECL para una gran variedad de combinaciones de versiones, seguridad en hilos, y bibliotecas VC. Descomprima el fichero y copie php_mongo.dll en el directorio de extensiones de PHP ("ext" por omisión).
Agregar la siguiente línea al fichero php.ini:
extension=php_mongo.dll
Nota: Dependencias de DLL adicionales para usuarios de Windows
Para que esta extensión funcione, hay unos ficheros DLL que deben estar disponibles en el PATH del sistema de Windows. Para obtener más información sobre esto, vea la FAQ titulada "Como añadir mi directorio de PHP al PATH de Windows". Aunque copiar los ficheros DLL desde el directorio PHP al directorio del sistema de Windows también funciona (porque el directorio del sistema está de manera predeterminada en el PATH del sistema), no se recomienda. Esta extensión requiere que los siguientes ficheros esten en el PATH: libsasl.dll
En la mayoría de los casos la instalación es más sencilla desde pecl:
$ sudo pecl install mongo
Si utiliza » Homebrew, el tap de PHP incluye una fórmula para el cotrolador. Por ejemplo, se podría instalar el controlador para PHP 5.6 con el siguiente comando:
$ brew install php56-mongo
Si utiliza » XAMPP, observe que tiene su propio binario de pecl y fichero de cofiguración php.ini. Debería poder instalar el controlador con el siguiente comando:
$ sudo /Applications/XAMPP/xamppfiles/bin/pecl install mongo
Nota: Dependencia de Xcode para compilar sobre OS X
La compilación del controlador sobre OS X requiere las herremientas de desarrollo Xcode, las cuales pueden ser instaladas con
xcode-select --install
. Si el comnado no está disponible, se ha de instalar primero el paquete » Command Line Tools.
Gentoo tiene un paquete para el controlador de PECL de PHP llamado dev-php5/mongo que puede ser instalado con:
$ sudo emerge -va dev-php/pecl-mongo
Si se utiliza PECL, quizá obtiene un error de versión incorrecta en libtool. Compile desde las fuentes que necesite y ejecute aclocal y autoconf.
$ phpize $ aclocal $ autoconf $ ./configure $ make $ sudo make install
Incluye Fedora y CentOS
En estos sistemas, la configuración predeterminada de Apache no permite a las peticiones establecer conexiones de red, haciendo que el driver genere errores de "Permiso denegado" cuando se intenta conectar a la base de datos. Si este fuera el caso, pruebe a ejecutar:
$ /usr/sbin/setsebool -P httpd_can_network_connect 1
Un gran número de personas han creado excelentes tutoriales de instalación de controlador de PHP.
» (Re)instalar PHP en Mac OS X
Este excelente artículo de Justin Hileman detalla la instalación de PHP y de extensiones adicionales con Homebrew sobre OS X. Estas instrucciones complementan las anteriores de esta página para instalar el controlador con Homebrew.
» PHP 5.3.1 condebug, MongoDB y Lithium sobre Ubuntu 9.10 / Apache 2.2
Este 'screencast' de Jon Adams muestra cómo comenzar rápidamente con PHP 5.3.1, Xdebug, y MongoDB en Ubuntu 9.10 con Apache.