viernes, 14 de marzo de 2008

Manteniendo PHP al día

Uno de los dolores de cabeza con que tuve que lidiar hasta hace algún tiempo fue que las diversas distribuciones de linux incluían versiones antiguas de PHP por lo que tenía que compilar el código fuente para tener versiones más recientes.

Tengo dos motivos principales para querer instalar versiones de PHP actualizadas:
  1. En cada release se corrigen innumerables bugs detectados en las versiones anteriores.
  2. Nuevas funcionalidades que se agregan a PHP, como por ejemplo en la versión 5.2 se incorporó soporte para canonicalización [W3C] (C14N) las cuales son imprescindibles para la firma electrónica en XML [W3C] (XMLDsig).
Comúnmente para instalar una versión reciente de PHP compilaba el código fuente, lo cual toma bastante tiempo y puede ser bastante engorroso en caso de que el sistema operativo no tenga todas las dependencias para compilar, la desinstalación de código compilado siempre ha sido difícil y para qué hablar del proceso de actualización de versión en ambientes productivos, siempre era una incógnita cuánto iba a demorar la actualización (y mientras el sistema está detenido sin dar servicio a los clientes). Siempre he preferido administrar los paquetes mediante RPM ya que facilita mucho la instalación y desinstalación de software, la actualización de versión es bastante rápida, por lo general uno no se topa con sorpresas durante la instalación y el procedimiento de vuelta atrás es bastante sencillo ya que consiste sólo en volver a instalar los RPM de la versión previa.

Un día, todas estas preocupaciones quedaron en el olvido gracias a Remi Collet quien matiene un repositorio de paquetes RedHat que incluye las versiones más recientes de PHP. Usualmente el repositorio se actualiza en no más de una semana después de que PHP libera una actualización. Además, incluye módulos PEAR y PECL para PHP y actualizaciones para MySQL, Firefox y Thundebird.

Una vez configurado correctamente el repositorio, basta con ejecutar el siguiente comando para actualizar PHP a la versión más reciente:

yum update php

Al ser orientado a RedHat, el repositorio cuenta con releases para las versiones más comunes de Fedora Core, CentOS y RedHat. Además publica los SRPM, es decir, los RPM que contienen los códigos fuentes lo cual permite que uno recompile y genere sus propios RPM. Provee de instrucciones de instalación para yum, apt y smart.


Como nota final, tengo que aclarar que no es recomendable estar actualizando el software con demasiada frecuencia ya que cada proceso de actualización requiere de pruebas exhaustivas y eventualmente podría comenzar a fallar código que antes funcionaba correctamente.

No hay comentarios: