Recientemenete me he visto necesitado de una versión de PHP superior a la 5.2.4 que venía instalada con el paquete de apache por defecto de Apple.

Para mantener la estructura del módulo de Apple, en lugar de bajar los fuentes desde la página de PHP y compilar con las opciones de mi actual distribución, he optado por buscar algún paquete pre-compilado para instalar… y no ha sido fácil 😦

En la web http://www.entropy.ch/software/macosx/php/ disponen de un paquete más actualizado que el mío (yo tengo la 5.2.4 y aquí tienen la 5.3.0-3), pero no suficiente para usar Symfony2 (necesito al menos la versión 5.3.2)

Googleando un poco, encuentro un hilo (https://discussions.apple.com/thread/2376521?start=15&tstart=0) donde encuentro las siguientes instrucciones que voy siguiendo:

sudo port install php5-mysql +apache2 <– esto ha tardado muuuucho, pero ha instalado la última versón disponible (5.3.9)

cd /usr/local/php5

sudo mv libphp5.so libphp5-2-4.so

sudo cp /opt/local/apache2/modules/libphp5.so libphp5-3-9.so

sudo ln -sf libphp5-3-9.so libphp5.so

sudo cp /usr/local/php5/lib/php.ini /opt/local/etc/php5/.

…para usar la nueva versión de apache instalada:

cd /usr/sbin
sudo mv apachectl apachectl-5.2.4
sudo ln -sf /opt/local/apache2/bin/apachectl

…al cambiar el server, es necesario cambiar el DocumentRoot en la configuración de /opt/local/apache2/conf/httpd.conf (y asignar permisos al directorio)

…también es necesario activar el módulo de PHP tal como indica la instalación:

cd /opt/local/apache2/modules/
sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
sudo vi /opt/local/apache2/conf/extra/mod_php.conf
<– cambiar «mod_php5.c» por «php5_module»

…finalmente reiniciamos apache (desde la consola): sudo apachectl restart

phpinfo() no funciona! 😦

trato de actualizar macports para incluir el cargador de apache para launchd:

sudo port selfupdate
<– vete a tomar un café!
sudo port upgrade outdated
sudo port load apache2

…nada, q no hay manera de configurarlo 😦

opto por la solución que debería haber tomado desde el principio: MAMP (la version 1.9.6.1 para OSX 10.4), la descargo, la instalo, le copio el Symfony dentro, le configuro el .htaccess en app/ y por fin el check.php funciona!

luego solo me falta la extensión php-intl : encuentro un blog (http://blog.geertvd.be/2011/05/18/installing-the-intl-extension-on-mamp/) donde explican como añadir esta extensión en MAMP


sudo port install php-intl.php
sudo cp /opt/local/lib/php/extensions/no-debug-non-zts-20090626/intl.so /Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626

…y una vez incluida la extensión en php.ini y desactivas las directivas «short_open_tag» y «magic_quotes_gpc» => por fin Symfony2 carga sin problemas de configuración 🙂