Haciendo trabajar PHP de nuevo luego de actualizar a Yosemite

Luego de haber actualizado a la nueva versión de OSX  Yosemite, pasé bastante tiempo trabajando con las herramientas que usualmente uso, y todo parecía ir bastante bien. Pensé que la actualización había sido de lo mas transparente y que realmente no necesitaba realizar ninguna configuración adicional.

Esto hasta que intenté ejecutar phpMyAdmin, el hecho es que la nueva versión de Yosemite, tenía algunos problemas con la configuración que yo había cargado en mi versión de php, la cual por cierto es actualizada en Yosemite. El principal problema radicaba en una librería, la mcrypt y acá dejo los pasos que usé a fin de poder tener mi instalación corriendo de nuevo:

Antes de comenzar el proceso de instalación propiamente dicho debemos descargar las siguientes herramientas:

1)  La libreria libmcrypt-2.5.8, que puede ser encontrada aqui; descargue la libmcrypt (no mcrypt!), seleccionando el enlace etiquetado como “libmcrypt-2.5.8.tar.gz” en la pagina de  SourceForge.

2) El código fuente de PHP 5.5.14 que puede encontrarlo acá; NOTA – puede que su versión de PHP ya esta actualizada la versión 5.5.14, use phpinfo() para chequear la versión de  PHP también puede ejecutar el comando php --version en su terminal;

3) Xcode 6.1, el cual puede descargarlo desde la App Store. También necesitará Command Line Tools (OS X 10.10) for XCode, la cuál puede ser obtenida seleccionando la opción “Xcode/Open Developer Tool/More Developer Tools..”  desde el menú de Xcode.

4) Hombrew el cual puede se instalado siguiendo la siguiente instrucción en su linea de comandos: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)

Vamos ahora al terminal, donde «el texto es el rey :-)»

Creamos un directorio llamado «Source» dentro de «temp» y nos movemos dentro de él.

mkdir /tmp/source && cd /tmp/source

Coloque los archivos comprimidos descargados en 1 y 2 dentro de esta carpeta y extraigalos allí. Esto tambien puede ser hecho en un solo paso con los siguientes comandos:

curl --location -s http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz/download | tar -zx
curl --location -s http://nl3.php.net/get/php-5.5.14.tar.gz/from/nl1.php.net/mirror  | tar -zx

Instalamos la libreria libmcrypt-2.5.8

cd /tmp/source/libmcrypt-2.5.8
MACOSX_DEPLOYMENT_TARGET=10.10 CFLAGS='-O3 -fno-common -arch i386 -arch x86_64' LDFLAGS='-O3 -arch i386 -arch x86_64' CXXFLAGS='-O3 -fno-common -arch i386 -arch x86_64'  ./configure --disable-dependency-tracking
make -j6
sudo make install

Installamos php

cd /tmp/source/php-*/ext/mcrypt/
phpize
MACOSX_DEPLOYMENT_TARGET=10.10 CFLAGS='-O3 -fno-common -arch i386 -arch x86_64' LDFLAGS='-O3 -arch i386 -arch x86_64' CXXFLAGS='-O3 -fno-common -arch i386 -arch x86_64'  ./configure --with-php-config=/usr/bin/php-config
make -j6
sudo make install

Limpiamos la casa

Eliminamos la carpeta temporal creada anteriormente

cd ~ && rm -rf /tmp/source

Activamos la libreria dentro de PHP

Editamos la configuración de nuestro PHP

sudo nano /etc/php.ini

si vemos que aparece el mensaje  de «archivo nuevo» copiamos php.ini.default a php.ini primero

[ ! -f "/etc/php.ini" ] && sudo cp /etc/php.ini.default /etc/php.ini

Algunas versiones de OSX ya traen una sección para mcrypt, este fue mi caso, trate de ubicar dicha sección con el comando CTRL+W dentro de nano y busque por una sección llamada «mcrypt», si la consigue coloque esta línea dentro de dicha sección:

extension=mcrypt.so

caso contrario coloque dicha instrucción al final del archivo php.ini.

Probamos los pasos anteriores.

Reiniciemos Apache

  1. click Apple > System Preferences > Sharing
  2. Desactive Web Sharing
  3. Habilite Web Sharing

Si Web Sharing no inicia, revise cada uno de los pasos ejecutados anteriormente, muy probablemente no se haya percatado de algun mensaje de error derivado de la ejecución de alguno de ellos.

Si todo está ok, Web Sharing deberia activarse sin problemas.

En su terminal puede ejecutar el siguiente comando:

php --info | grep crypt

Debería ver algo como esto:

mcrypt support => enabled

Listo! ahora tenemos nuestra versión de PHP habilitada de nuevo.

Saludos

H.M.

Acerca de

Me gusta la fotografía, la música, la literatura, el ciclismo. Me apasiona la tecnología y sus aplicaciones como herramientas para una mejor calidad de vida. Padre, esposo y amigo. PGP Public Key http://goo.gl/1h1c8J

Tagged with: , ,
Publicado en Productividad

Deja un comentario