Interesante post, éste, que explica cómo cambiar la versión de PHP con un ejemplo real, ya sea, haciendo un downgrade de la versión de PHP o instalando a una versión concreta. Este ejemplo está ejecutando en una máquina con CentOS 6.3 64 bits, con el repositorio de remi instalado.
Primero, podemos ver qué versión tenemos.
# php -v
PHP 5.4.11 (cli) (built: Jan 16 2013 16:51:38)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
Con yum, podemos, a continuación, ver qué versiones tenemos disponibles en los diferentes repositorios.
# yum –showduplicates list php
Available Packages
php.x86_64 5.3.3-3.el6_2.8 base
php.x86_64 5.3.3-14.el6_3 updates
php.x86_64 5.4.10-1.el6.remi remi
php.x86_64 5.4.11-1.el6.remi remi
Una vez sepamos qué versiones tenemos disponibles en los repositorios, podemos listar los paquetes actualmente instalados:
# yum list installed | grep php
php-cli.x86_64 5.4.11-1.el6.remi @remi
php-common.x86_64 5.4.11-1.el6.remi @remi
php-devel.x86_64 5.4.11-1.el6.remi @remi
php-gd.x86_64 5.4.11-1.el6.remi @remi
php-pdo.x86_64 5.4.11-1.el6.remi @remi
php-pear.noarch 1:1.9.4-12.el6.remi @remi
php-pecl-memcache.x86_64 3.0.7-5.el6.remi @remi
php-pspell.x86_64 5.4.11-1.el6.remi @remi
php-snmp.x86_64 5.4.11-1.el6.remi @remi
php-xml.x86_64 5.4.11-1.el6.remi @remi
php-xmlrpc.x86_64 5.4.11-1.el6.remi @remi
Ahora que los sabemos, podemos coger todos los de la versión 5.4 y eliminarlos:
# yum remove php-cli php-common php-devel php-gd php-pdo php-pspell php-snmp php-xml php-xmlrpc
Por dependendias, en el ejemplo, nos eliminará también php-pecl-memcache y php-pear.
Finalmente, sabiendo las versiones disponibles en los repositorios, podremos instalar la versión específica, tal y como aparece en el respositorio, indicándoselo a yum:
# yum install php-5.3.3
En mi caso, también me ha instalado por dependencias algunos paquetes como el php-common y el php-cli, así que en el ejemplo con el que estamos trabajando, deberemos acabar de instalar el resto de paquetes:
# yum install php-devel-5.3.3 php-gd-5.3.3 php-pdo-5.3.3 php-pspell-5.3.3 php-snmp-5.3.3 php-xml-5.3.3 php-xmlrpc-5.3.3
Al finalizar, podremos comprobar nuestra versión de php
# php -v
PHP 5.3.3 (cli) (built: Jul 3 2012 16:53:21)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies# yum list installed | grep php
php.x86_64 5.3.3-14.el6_3 @updates
php-cli.x86_64 5.3.3-14.el6_3 @updates
php-common.x86_64 5.3.3-14.el6_3 @updates
php-devel.x86_64 5.3.3-14.el6_3 @updates
php-gd.x86_64 5.3.3-14.el6_3 @updates
php-mysql.x86_64 5.3.3-14.el6_3 @updates
php-pdo.x86_64 5.3.3-14.el6_3 @updates
php-pear.noarch 1:1.9.4-4.el6 @base
php-pecl-memcache.x86_64 3.0.5-4.el6 @base
php-pspell.x86_64 5.3.3-14.el6_3 @updates
php-snmp.x86_64 5.3.3-14.el6_3 @updates
php-xml.x86_64 5.3.3-14.el6_3 @updates
php-xmlrpc.x86_64 5.3.3-14.el6_3 @updates
Fuente:
https://www.zulius.com/how-to/yum-install-specific-package-version/
Foto por wetwebwork
THANKS!
Mil gracias por la entrada, funciono perfecto para pasar de PHP 5.4 a 5.1.6 en un Plesk 9.3 con CentOS 5.3
Saludos!
Hola, estoy intentando instalar drupal 8 (versión alpha12) y necesito actualizar a php 5.4.
Lo he intentado pero siempre me aparece:
E: No se ha podido localizar el paquete php-common y como acabo de empezar y después de dar muchas vueltas no acierto…
Ubuntu 12.04.2 LTS (GNU/Linux 2.6.32-042stab078.27 i686)
Gracias de antemano.
Esta muy bien el post creo que hasta yo podría hacerlo 😉 y soy muy torpe
tengo un servidor en el cual hay varias webs, unas necesitan php 5.4 o superior y otras basadas en script clipbucket necesitan php 5.3 para funcionar correctamente, ¿podrias darle un giro de tuerca al post, o hacer otro en el cual se explique como instalar dos versiones de php en un mismo servidor?
saludos
por cierto genial este blog
¡Muchas gracias Txus! Me alegro de que esta entrada te haya servido 😀
Me anoto lo del post para trabajar con varias versiones de PHP, que ciertamente sería muy interesante.
Salud,
Adri