Para finalizar el año, veremos cómo actualizar PHP en un servidor Red Hat Enterprise 5.5.
En primer lugar miraremos qué versión de php tenemos, sin necesidad de usar phpinfo():
[root@miserver ~]# php -v
PHP 5.1.6 (cli) (built: Nov 13 2010 16:05:12)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
A continuación instalaremos los repositorios de remi siguiendo los pasos descritos aquí:
[root@miserver ~]# wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
[root@miserver ~]# wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
[root@miserver ~]# rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm
Una vez instalados, faltará habilitar el repo de remi (que no el «remi_test») símplemente poniendo a «1» la línea «enabled»:
[root@miserver ~]# vi /etc/yum.repos.d/remi.repo
…
[remi]
enabled=1
Como curiosidad, podremos ver qué paquetes de php tenemos instalados con el siguiente comando:
[root@miserver ~]# rpm -qa | grep php
php-pdo-5.1.6-27.el5_5.3
php-mysql-5.1.6-27.el5_5.3
php-cli-5.1.6-27.el5_5.3
php-common-5.1.6-27.el5_5.3
php-5.1.6-27.el5_5.3
php-gd-5.1.6-27.el5_5.3
Podremos actualizar todos los paquetes, o bien indicando uno a uno cada uno de los paquetes, o mejor aun, introduciendo únicamente el paquete «padre» (lo cual ya nos actualizará el resto de paquetes):
[root@miserver ~]# yum update php
Es posible que nos encontremos con algún tipo de error como el siguiente:
Transaction Check Error:
file /etc/my.cnf from install of mysql-libs-5.5.19-1.el5.remi.x86_64 conflicts with file from package mysql-5.0.77-4.el5_6.6.x86_64
file /usr/share/mysql/charsets/Index.xml from install of mysql-libs-5.5.19-1.el5.remi.x86_64 conflicts with file from package mysql-5.0.77-4.el5_6.6.x86_64
file /usr/share/mysql/charsets/cp1250.xml from install of mysql-libs-5.5.19-1.el5.remi.x86_64 conflicts with file from package mysql-5.0.77-4.el5_6.6.x86_64
…
En mi caso, esto se ha solucionado eliminando el paquete que crea el conflicto, y posteriormente, actualizando php para a continuación instalar de nuevo el paquete conflictivo (que se instalará ya en la nueva versión):
[root@miserver ~]# yum remove mysql-5.0.77-4.el5_6.6.x86_64
[root@miserver ~]# yum update php
[root@miserver ~]# yum install php-mysql
¡Feliz año!
Fuente: http://www.sohailriaz.com/how-to-update-php-on-servers-centosfedorarhel/
En caso de que la url directa al repo EPEL no funcione, o no se corresponda exactamente con nuestra versión, se puede seleccionar el repo desde:
http://mirrors.fedoraproject.org/publiclist/EPEL/5/
Un mirror directo sería el siguiente:
http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm