Ir al contenido principal

Zona Horaria de Chile en PHP

Luego del último "no cambio de hora" oficial en Chile, tuvimos algunos problemas en el servidor linux de la empresa, ante lo cual como primera solución optamos por establecer la zona horaria del servidor en la zona Argentina.

Luego de unos días, las aplicaciones en php comenzaron a registrar como warning la diferencia entre la zona horaria de las aplicaciones y la zona del sistema, mostrando inconsistencia.

Gracias al post http://gmt-4.blogspot.com/2008/03/php-y-las-zonas-horarias.html me enteré de que las versiones recientes de php permiten trabajar con su propia zona.

yum-install php-devel pecl install timezonedb

Instalar módulo timezonedb parchado

El procedimiento a seguir es descargar los fuentes de timezonedb (que están en lenguaje C), modificar la definición de la zona America/Santiago y luego agregar el módulo a PHP.

En primer lugar descargamos los fuentes mediante:
pecl download timezonedb

Esto descargará un archivo con la versión más reciente del módulo. Lo descomprimimos y entramos al directorio recien creado:
tar xfz timezonedb-"año.mes".tgz
cd timezonedb-"año.mes" donde año y mes son números.

El archivo timezonedb.h es el que contiene la información de las zonas horarias.

Luego, estamos en condiciones de compilar el módulo ejecutando los siguientes comandos:

phpize
./configure
make

Luego, como usuario root, instalamos el módulo.
make install


En caso de encontrar el error "Cannot find autoconf" me guié por el siguiente enlace:

http://duntuk.com/cannot-find-autoconf

En este caso la solución era instalar el autoconf con yum install autoconf

Finalmente para ver qué zona horaria está utilizando php se puede imprimir con el comando

echo date_default_timezone_get();

http://php.net/manual/es/function.date-default-timezone-set.php

Ojo, hay que verificar si está instalada la extensión en el php.ini. Para ello en el caso de zend server,  buscar en  /usr/local/zend/etc/php.ini y con el editor vim y el comando / se puede buscar el texto extension=timezonedb.so

Finalmente para verificar podemos hacer un php con el código:

echo date("Y-m-d G:i:s O e I\n", strtotime("2012-03-23"); 

y debería indicar en mi caso "2012-03-23 1:00:00 -0300 America/Santiago 1" donde es -3 ya que aún no se cambia al horario de invierno.


Comentarios

Entradas más populares de este blog

Solucionando el problema de Audacity y mp3 en Fedora Core 4

Después de instalar Audacity para mezclar sonidos, no podía importar archivos mp3 ya que me salía un mensaje que decía algo así como que la versión de Audacity no había sido compilada con soporte para mp3. La solución recomendada era instalar Lame, pero a pesar de que lo hice, nunca funcionó. Sin embargo hay una combinación que sirve: Escribiendo: $ rpm --query audacity lame libmad Debería resultar: audacity-1.2.3-5.lvn.1.4 lame-3.96.1-0.lvn.1.4 libmad-0.15.1-0.lvn.1.b.4 Sin embargo me aparecían otras versiones, así que escribiendo $su - para entrar como root (incluyendo el guión) y luego #yum remove audacity lame libmad pude desintalar las versiones que no me sirven. Luego escribí # rpm -ivh http://rpm.livna.org/livna-release4.rpm Para agregar esa fuente de librerías en yum. (Más info en http://rpm.livna.org/configuration.html#Core4 ) Luego puse: #yum install audacity-1.2.3-5.lvn.1.4 lame-3.96.1-0.lvn.1.4 libmad-0.15.1-0.lvn.1.b.4 Y listo!!! audacity quedó con soporte para importar...

¿Quanta o Eclipse para Desarrollo Web?

¿Quanta o Eclipse para Desarrollo Web? , publicado por nalvarez . Hace un tiempo se me ocurrió eliminar el software pirata de mi computador, lo que significó deshacerme de Dreamweaver. (La versión de prueba dura solamente 30 días) Como usuario de XP mi mejor alternativa en ese momento fue Eclipse, agregando el plug-in Php Eclipse. Sin embargo al manejar múltiples proyectos y miles de archivos individuales, phpeclipse se queda pegado o se pone extremadamente lento cada vez que guardamos un cambio, ya que se pone a compilar todos los proyectos. Por esa razón, me cambié a linux pensando que en este sistema eclipse correría más rápido, pero se repitió la historia. Sin embargo el pinguino me tenía una sorpresa, y probando en Quanta, el cambio fue del cielo a la tierra. Quanta permite desarrollar php, css y html manejando múltiples proyectos, y con una opción F8 para actualizar directamente vía ftp sin necesidad de ir subiendo los archivos a mano. Así que dejo eclipse, y me cambio a...