Actualizar PHP en Red Hat 5

30 Diciembre 2011 at 14:21 by Adrián Pérez

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/