viernes, 27 de marzo de 2015

Instalando PHP 5.5 en Snow Leopard

Mi máquina de trabajo es un iMac (iMac5,1) late 2006 corriendo con Snow Leopard. Viene preinstalado con PHP 5.3.10, pero me interesaba tener una versión más reciente para aprovechar algunas de las mejoras del lenguaje relacionadas con OOP.
Para instalarlo he ido por la vía fácil, que es utilizar los paquetes de PHP 5.3 to 5.6 for OS X 10.6 to 10.10 as binary package, que vienen ya configurados con lo que podría necesitar.

Instalación

Para ello, no hay más que teclear esto en terminal. Mi máquina no puede con la versión 5.6 que es la estable a la hora de escribir esto.

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5

Esta instalación no sobrescribe la original, así que para evitar interferencias y diferentes versiones en el servidor web y en la consola, los siguientes pasos van a ser "inutilizar" la versión anterior y configurar apache para que use la más reciente. El PHP preinstalado está en /usr/bin, el nuevo, en /usr/local/php5/bin, así que voy a cambiar el nombre del "viejo" PHP para que no pueda utilizarse

cd /usr/bin
sudo mv php php_old
El siguiente paso es hacer que la nueva versión de PHP esté en $PATH, así que lo añadimos para la sesión actual:
export PATH="/usr/local/php5/bin/:$PATH"
Esta línea también la añado en el archivo .profile para las futuras sesiones:
cd ~
pico .profile
...
export PATH="/usr/local/php5/bin/:$PATH"
...
Nos queda un último apartado, que es decirle a Apache (también viene preinstalado en el sistema) que utilice el binario adecuado de PHP. El caso es que la instalación de que acabamos de realizar se ocupa de eso, añadiendo archivos de configuración extra aparte de nuestro /etc/apache2/httpd.conf. En este caso, lo que tenemos que hacer es comentar la siguiente línea y reiniciar Apache (cosa que puedes hacer desactivando y activando Compartir Web en el panel de preferencias del sistema Compartir),
#LoadModule php5_module        libexec/apache2/libphp5.so
Si, justamente lo que hacemos es deshabilitar la carga de PHP por defecto que hace Apache, para dejarla en manos de un archivo de configuración añadido que le indica la nueva ubicación de la biblioteca. Lo puedes ver abriendo /etc/apache2/other.
Y con esto, tenemos sincronizadas las versiones web y cli de PHP. Puedes comprobarlo en la consola con:
php -v
Una última anotación es que me he dado cuenta de que puede ser interesante incluir en el proyecto los archivos de configuración de Apache y el php.ini para tenerlos a mano como referencia o para comprobar y cambiar ajustes que en algún momento nos interesen.




No hay comentarios: