Cómo bajar de PHP 5.4 a 5.3

18

Recientemente actualicé PHP a 5.4, pero parece estar fallando porque APC no funciona con él, sin embargo, esto no me dio más remedio que bajar a 5.3, ¿cómo puedo hacer esto?

Ejecuté apt-get remove php5y apt-get purge php5luego me quité el 5,4 cesión temporal de apt-get ejecuta entonces apt-get install php5, se dice que fue la instalación de 5.3, y me reinicia php-fastcgiy php5-fpmpero cuando corro php -vdice 5.4.

¿Cómo puedo degradar de 5.4 a 5.3?

Mi servidor ejecuta Ubuntu 11.04.

MacMac
fuente

Respuestas:

11

Bajar de categoría de PHP 5.4 a 5.3

En Ubuntu, el proceso de degradación es realmente un desastre. Aquí está el script que podría resultarle útil ( elimina PHP 5.4 e instala PHP 5.3 ):

sudo apt-get remove --purge `dpkg -l | grep php | grep -w 5.4 | awk '{print $2}' | xargs`
sudo apt-get install php5=5.3.10-1ubuntu3.4 php5-cli=5.3.10-1ubuntu3.4 php5-common=5.3.10-1ubuntu3.4 libapache2-mod-php5=5.3.10-1ubuntu3.4
sudo apt-get install php5=5.3.10-1ubuntu3.4 php5-cli=5.3.10-1ubuntu3.4 php5-common=5.3.10-1ubuntu3.4 libapache2-mod-php5=5.3.10-1ubuntu3.4
sudo apt-get install php-pear=5.3.10-1ubuntu3.4 php5-curl=5.3.10-1ubuntu3.4 php5-gd=5.3.10-1ubuntu3.4 php5-intl=5.3.10-1ubuntu3.4 php5-mysql=5.3.10-1ubuntu3.4 php5-pspell=5.3.10-1ubuntu3.4 php5-recode=5.3.10-1ubuntu3.4 php5-snmp=5.3.10-1ubuntu3.4 php5-sqlite=5.3.10-1ubuntu3.4 php5-tidy=5.3.10-1ubuntu3.4 php5-xmlrpc=5.3.10-1ubuntu3.4 php5-xsl=5.3.10-1ubuntu3.4

Donde las versiones disponibles puede verificar por comando: apt-cache showpkg php5

Después de la instalación, verifíquelo por comando: php --version

Tenga cuidado y no instale ningún otro paquete sin la versión del paquete especificada (como php5-xcache), de lo contrario, apt-get reemplazará su instancia de PHP con 5.4 nuevamente.

Para evitar que esto suceda, puede guardar estos paquetes.

Manteniendo paquetes usando dpkg

Para retener paquetes con dpkg, puede ejecutar el siguiente comando:

echo "php5 hold" | sudo dpkg --set-selections

Para mantener todos los paquetes PHP, ejecute el siguiente comando:

dpkg --get-selections | grep ^php5 | sed s/install/hold/g | sudo dpkg --set-selections

El siguiente comando le mostrará el estado de mantenimiento de sus paquetes php:

sudo dpkg --get-selections | grep ^php

Manteniendo paquetes usando aptitude

También puede guardar paquetes usando aptitude, por ejemplo:

sudo aptitude hold php5

Unhold:

sudo aptitude unhold php5
kenorb
fuente
3
En Ubuntu 13.x 5.3.10-1ubuntu3.4 ya no existe.
kenorb
¿Cómo sería deshacer lo que hay en tu respuesta?
tolgap
¿Quiere decir volver a PHP 5.4 o recuperar archivos de configuración? Los archivos de configuración deben mantenerse como están (no se debe eliminar ninguna configuración personal). Si desea volver a PHP 5.4, deshaga para deshacer los paquetes que tiene y reinstalar php5 nuevamente, por ejemplo, sudo apt-get install php5con reinstalar o eliminar / instalar.
kenorb
4

Primero ejecuta apt-cache showpkg php5. Allí verá la versión y otra información sobre el paquete php5.

Para instalar una versión específica, ejecute apt-get install <package name>=<version>

En mi Ubuntu 11.10 sería apt-get install php5=5.3.6-13ubuntu3.6

Luís Bianchin
fuente
66
¿Qué pasa si apt-cache showpkg php5ya no se muestra 5.3.x?
kenorb
2

Tuve un problema similar.

Eliminé los repositorios.

Debe recordar que php -vejecuta el ejecutable en el php-clipaquete, por lo que también debe eliminarlo.

Entonces hice lo siguiente para volver a 5.3.10:

sudo apt-get remove php5-cli php5 php5-common
sudo apt-get install php5 php5-mysql php5-curl

Ahora esto debería mostrar la versión deseada:

php -v
Danés javed
fuente
Instala el último 5.6 para mí.
JohnnyQ
2

Tal vez esta guía lo ayude: cómo degradar un paquete en Ubuntu

Entonces, para descargar e instalar cualquier paquete de cualquier versión disponible, debe hacer esto:

sudo apt-get install Package=Version
rɑːdʒɑ
fuente
1

de los pasos que describió, olvidó actualizar apt-get después de purgar php5.4 y eliminar el repositorio php5.4.

suponiendo que ya no tiene el repositorio en fuentes aptas, si ejecuta:

apt-get remove --purge php5 && apt-get update && apt-get install php5

deberías estar de vuelta en 5.3

nathwill
fuente
En Ubuntu 13.x, por defecto php5 apunta a 5.4.x
kenorb