Instalar MongoDB y Mongo-PHP en macOS (MAMP Pro)
Sustituir X.X.X, en los comandos, por el número de versión de nuestro PHP.
1. Instalar el gestor de paquetes Homebrew:
1 | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
2. Instalar MongoDB:
1 2 | brew install mongodb mkdir -p ~/ruta_a_datos/db |
Instalar extension PHP para MongoDB con MAMP Pro
- En MAMP PRO marcar la versión por defecto de PHP como disponible de desde línea de comandos.
- Comprobar en la terminal que la versión de PHP es correcta con: php -version. Si no se ha actualizado la línea de comandos, ejecutar: source ~/.bash_profile
- Instalar la extensión de MongoDB:Vim1pecl install mongodb
- Habilitar la extension en el php.ini. En MAMP Pro File > Edit Templates > PHP > PHPX.X.XX añadir la línea: extension=mongodb.so
MÉTODOS DE INSTALACIÓN OBSOLETOS
Hay dos opciones para instalar la extensión PHP de mongo:
Camino rápido. Homebrew.
1. Instalar las extensiones:
1 2 | brew install homebrew/php/php56-mongodb #extensión nueva brew install php56-mongo #extensión vieja |
2. Activar extensión en php.ini:
1 2 | extension='/usr/local/opt/php56-mongodb/mongodb.so' extension='/usr/local/opt/php56-mongo/mongo.so' |
Camino con curvas. Compilado.
1. Descargar los fuentes de PHP, correspondientes a nuestra versión, en http://www.php.net/downloads.php. Descomprimir el archivo descargado y copiar su contenido en /Applications/MAMP/bin/php/phpX.X.X/include.
2. Instalar los fuentes de PHP:
1 2 3 | cd /Applications/MAMP/bin/php/phpX.X.X/include/php ./configure --without-iconv |
3a. Instalar antigua extensión Mongo:
1 | sudo /Applications/MAMP/bin/php/php5.6.27/bin/pecl install mongo |
3b. Instalar la nueva extensión MongoDB:
Tendría que ser suficiente con ejecutar sudo /Applications/MAMP/bin/php/phpX.X.X/bin/pecl install mongodb. Pero en macOS Sierra da un error con la versión OpenSSL del sistema y he tenido que realizar los siguientes pasos:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | brew install openssl export LDFLAGS=-L/usr/local/opt/openssl/lib export CPPFLAGS=-I/usr/local/opt/openssl/include cd /Applications/MAMP/bin/php/phpX.X.X/bin/ sudo ./pecl download mongodb sudo tar zxvf mongodb*.tgz cd mongodb-* sudo phpize sudo ./configure --with-openssl-dir=/usr/local/opt/openssl sudo make sudo make install |
4. Activar extensión en php.ini:
1 2 3 4 | ;Antigua extensión extension=mongo.so ;Nueva extensión extension=mongodb.so |
Fuentes: toodlepip.co.uk, bigseadesign, Missing OpenSSL headers