Como instalar o reinstalar la versión 5.2.x de PHP en un sistema operativo Linux.
Muchas veces cuando te instalas una de las últimas versiones de Linux, como ser Ubuntu 10.04 Lucid o las últimas versiones de Fedora o Debian, seguramente si ya se te instala PHP o lo instalas tu mismo desde los repositorios, la versión de PHP que se te instalará será la última en la rama 5.3.x.
Pero si tienes varias aplicaciones/proyectos corriendo y desarollados con la versión 5.2.x encontrarás que estas no funcionan correctamente al correrlas con 5.3.x. Acá les dejo un par de comandos para volver a reinstalar la versión 5.2.x de PHP.
root@mylinux:~$ php_installed=`dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
# borramos todos los paquetes PHP actuales
sudo aptitude purge $php_installed
# usamos karmic para obtener los paquetes php
# parametros: a (archive), c (components), v (version), o (origin) and l (label).
root@mylinux:~$ echo -e "Package: php5\nPin: release a=karmic\nPin-Priority: 991\n" | sudo tee
/etc/apt/preferences.d/php > /dev/null
root@mylinux:~$ apt-cache search php5-|grep php5-|awk '{print "Package:", $1,"\nPin: release
a=karmic\nPin-Priority: 991\n"}'|sudo tee -a /etc/apt/preferences.d/php > /dev/null
root@mylinux:~$ apt-cache search -n libapache2-mod-php5 |awk '{print "Package:", $1,"\nPin: release
a=karmic\nPin-Priority: 991\n"}'| sudo tee -a /etc/apt/preferences.d/php > /dev/null
root@mylinux:~$ echo -e "Package: php-pear\nPin: release a=karmic\nPin-Priority: 991\n" | sudo tee
-a /etc/apt/preferences.d/php > /dev/null
# agregamos karmic al listado de repositorios
root@mylinux:~$ egrep '(main restricted|universe|multiverse)' /etc/apt/sources.list|grep -v "#"| sed
s/lucid/karmic/g | sudo tee /etc/apt/sources.list.d/karmic.list > /dev/null
# actualizamos los repositorios (use apt-get if aptitude crash)
root@mylinux:~$ sudo apt-get update
# instalamos php
root@mylinux:~$ sudo apt-get install $php_installed
# ó sudo aptitude install -t karmic php5-cli php5-cgi //for fcgi
# ó sudo apt-get install -t karmic libapache2-mod-php5 //for apache module
root@mylinux:~$ sudo aptitude hold `dpkg -l | grep php5| awk '{print $2}' |tr "\n" " "`
#listo, ya tienes php 5.2.x
Fuente: Kandy's blog


2 Comentarios:
hugoss:
02 de Septiembre de 2010 a las 02:45:43Hola! como estas? Justo esto es lo que andaba buscando, ya que tengo Fedora 13, me instaló PHP 5.3.3 y necesito regresar a PHP 5.2.9 para que mis sitios sigan funcionando bien. Sabes como tendría que aplicar estos pasos en Fedora ??? Gracias!
Jorge:
15 de Septiembre de 2010 a las 22:44:10Buena la intencion, pero desafortunadamente encontre un montón de errores. Para muestra un par: apt-cache search php5-|grep php5-|awk '{print "Package:", $1,"\nPin: release a=karmic\nPin-Priority: 991\n"}'|sudo tee -a /etc/apt/preferences.d/php > /dev/null apt-cache search php5-|grep php5-|awk '{print "Package:", $1,"\nPin: release a=karmic\nPin-Priority: 991\n"}'|sudo tee -a /etc/apt/preferences.d/php > /dev/null y este root@jorge-desktop:/home/jorge# apt-cache search php5-|grep php5-|awk '{print "Package:", $1,"\nPin: release > a=karmic\nPin-Priority: 991\n"}'|sudo tee -a /etc/apt/preferences.d/php > /dev/null awk: {print "Package:", $1,"\nPin: release awk: ^ cadena sin terminar