Usar el php de MacPorts desde la línea de comandos

Hace un tiempo instalé Apache+MySQL usando MacPorts en Mac OS X. Todo iba bien siempre y cuando estuviera navegando por las páginas usando un navegador, pero en cuanto usé PHP mediante el CLI para ejecutar comandos de Symfony2 comenzaron los problemas. Me decía que no tenía configurada la zona horaria, y yo estaba seguro de haberla configurado en el fichero php.ini.

$ php app/console doctrine:schema:update --force
[ErrorException] Warning: date_default_timezone_get(): It is not safe to rely
on the system' s timezone settings. You are *required* to use the date.timezone
setting or the date_default_timezone_set() function. In case you used any of
those me thods and you are still getting this warning, you most likely misspelled
the timezone identifier. We selected 'Europe/Berlin' for 'CET/1.0/no DST' instead
in /Users/.../vendor/monolog/monolog/src/ Monolog/Logger.php line 199

Buscando una solución por internet me di cuenta de que el problema era que estaba ejecutando el php binario que viene con Mac OS X, y en ese no tenía configurada la zona horaria. Se puede ver de donde se lee el fichero php.ini ejecutando esto:

$ php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /etc
Loaded Configuration File => (none)

La primera solución que se me ocurrió fue usar la ruta completa al php binario de MacPorts:

$ /opt/local/bin/php app/console doctrine:schema:update --force
$ /opt/local/bin/php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /opt/local/etc/php5
Loaded Configuration File => /opt/local/etc/php5/php.ini

Una mejor solución consiste en añadir la ruta /opt/local/bin al path del sistema antes que la ruta /usr/bin. Esto se puede hacer editando el fichero ~/.bash_profile:

PATH=/opt/local/bin:$PATH;export PATH

Luego hay que cerrar y volver a abrir el terminal o recargar el ~/.bash_profile:

$ source ~/.bash_profile

Ref: Stackoverflow

You might also like

Alias útiles de los servicios Apache 2 y MySQL 5 para MacPorts
Estos son algunos de los alias que utilizo para arrancar, parar y reiniciar Apache 2 y MySQL 5 en mi...

Script de instalación de Apache 2 + MySQL 5 + PHP 5.3 + phpMyAdmin 3.5.4 para Mac OS X usando MacPorts
Basándome en las instrucciones de Gilles Fabio he creado un completo script para instalar Apache 2,...

Useful Apache 2 and MySQL 5 service aliases for MacPorts
Those are some aliases I use to start, stop and restart Apache 2 and MySQL on my MacPorts installation...

Cambiar contraseña de root en MySQL
En GNU/Linux:$ sudo mysqld_safe --skip-grant-tables & $ mysql -u root -p #pulsar enter para meter...

Dejar un comentario?

0 Comentarios.

Deje un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.