Una mejora sobre la otra respuesta webtatic:
1) Usando la guía en http://www.webtatic.com/packages/php54/ :
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
2) Primero debe ver qué paquetes instalados deben reemplazar, puede hacerlo utilizando yum shell para combinar la eliminación de php-common y la instalación de php54w-common en una transacción (para que no se eliminen las dependencias compartidas)
yum shell
> remove php-common
> install php54w-common
> run
…
Is this ok [y/N]: n
No diga "y" a los resultados, pero tome nota de todos los paquetes mencionados en "Eliminar por dependencias", p. Ej.
Removing for dependencies:
php
php-cli
php-pear
php-pecl-memcache
php-mysql
Si hay otros paquetes además de php * en esta lista, entonces no puede cambiar sin problemas a Webtatic PHP 5.4, pero tendrá que investigar alternativas. Webtatic tiene paquetes de reemplazo para todos los paquetes básicos de php (consulte los paquetes enumerados en la página vinculada en 1. para confirmación), por lo que no debería haber problemas, a menos que use otros repositorios de terceros que tengan instalados paquetes que dependan de la versión específica de php instalado
Para el resto de la instalación (todavía en yum shell), simplemente elimine estos paquetes e instale sus contrapartes php54w- *:
> remove php-common php php-cli php-pear php-pecl-memcache php-mysql
> install php54w-common php54w php54w-cli php54w-pear php54w-pecl-memcache php54w-mysql
> run
…
Is this ok [y/N]: y
Entonces, solo debería ver los paquetes que ha configurado para ser eliminados e instalados en la lista, y puede confirmar la instalación para cambiar. Todos los servicios que se ejecutan actualmente con php cargado deberán reiniciarse, por ejemplo httpd o php-fpm.
En cuanto a que esto sea 'continuo', cualquier cambio de software que ocurra mientras los usuarios pueden acceder al sitio web debe tener las consecuencias completamente entendidas. Las bibliotecas compartidas que se eliminan y agregan cuando un proceso aún no las ha cargado podrían potencialmente cargarse mientras la biblioteca compartida no está allí. Es mejor hacer actualizaciones de software como esta sin conexión, y preferiblemente probadas primero en una máquina que no sea de producción para verificar que el proceso funcione como se esperaba.
3) Para cambiar a un paquete hipotético de base php54 de CentOS (CentOS 5 usaba el prefijo php53), simplemente ejecute los pasos anteriores reemplazando la eliminación de php con la eliminación de php54w, y la instalación de php54w con la instalación de php54, por ejemplo
yum shell
> remove php54w-common
> install php54-common
> run
…
Is this ok [y/N]: n
…
> remove php54w-common php54w php54w-cli php54w-pear php54w-pecl-memcache php54w-mysql
> install php54-common php54 php54-cli php54-pear php54-pecl-memcache php54-mysql
> run
Is this ok [y/N]: y
Sin embargo, en cuanto al cambio a la base hipotética php54, es probable que no haya alternativas para algunos paquetes (por ejemplo, no hubo extensión php53-pecl-memcache en CentOS 5) y Webtatic tiene paquetes que no están disponibles en la base CentOS (por ejemplo, php54w -pecl-zendopcache). Si faltan, generalmente no tiene otra opción que usar pecl directamente para instalarlos.
4) Cualquier actualización de PHP puede introducir errores, y los sitios web deben volver a probarse. Esto no es específico de Webtatic, sino la idea general de que las nuevas características introducen nuevos errores.
A diferencia del repositorio de Remi en la respuesta aceptada, el repositorio Webtatic EL6 nunca usa los mismos nombres de paquete que los repositorios base de CentOS, por lo que no anulará la instalación / actualización de paquetes a los que no tiene la intención de cambiar, y como tal está habilitado de forma predeterminada.
Descargo de responsabilidad: soy el propietario / mantenedor de Webtatic