Explicamos cómo degradar (bajar) la versión de PHP, de la 7 a la 5, en un equipo con sistema operativo Linux CentOS 7. El método es válido para otras distribuciones similares, como Red Hat.
- Requisitos para degradar la versión de PHP de la 7 a la 5.
- Degradar o bajar o downgrade versión de PHP 7 a la 5 en Linux CentOS 7.
- Verificar que se ha instalado PHP 5.6 y que funciona correctamente el servidor web con Apache y PHP.
- Anexo.
Requisitos para degradar la versión de PHP de la 7 a la 5
En primer lugar, y como es lógico, dispondremos de un servidor con PHP 7 instalado. Para ver la versión actual de PHP podemos ejecutar el siguiente comando linux:
php -ver
Devolverá algo así:
PHP 7.3.2 (cli) (built: Feb 5 2019 13:10:03) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.2, Copyright (c) 1998-2018 Zend Technologies
Y para ver todos los paquetes que tenemos instalados relacionados con PHP podemos ejecutar:
rpm -qa | grem php
Que devolverá:
php-php-gettext-1.0.11-10.el7.noarch
php-json-7.3.2-1.el7.remi.x86_64
php-xml-7.3.2-1.el7.remi.x86_64
php-gd-7.3.2-1.el7.remi.x86_64
php-7.3.2-1.el7.remi.x86_64
php-pecl-mcrypt-1.0.2-2.el7.remi.7.3.x86_64
php-bcmath-7.3.2-1.el7.remi.x86_64
php-pear-1.9.4-21.el7.noarch
php-tcpdf-dejavu-sans-fonts-6.0.098-1.el7.noarch
php-common-7.3.2-1.el7.remi.x86_64
php-pdo-7.3.2-1.el7.remi.x86_64
php-mysqlnd-7.3.2-1.el7.remi.x86_64
php-mbstring-7.3.2-1.el7.remi.x86_64
php-pecl-zip-1.15.4-1.el7.remi.7.3.x86_64
phpMyAdmin-4.4.15.10-3.el7.noarch
php-xmlrpc-7.3.2-1.el7.remi.x86_64
php-process-7.3.2-1.el7.remi.x86_64
php-snmp-7.3.2-1.el7.remi.x86_64
php-soap-7.3.2-1.el7.remi.x86_64
php-tcpdf-6.0.098-1.el7.noarch
php-cli-7.3.2-1.el7.remi.x86_64
php-tidy-7.3.2-1.el7.remi.x86_64
php-odbc-7.3.2-1.el7.remi.x86_64
php-ldap-7.3.2-1.el7.remi.x86_64
Conviene tener instalados los repositorios EPEL Repository y Remi Repository, que pueden instalarse con los comandos:
yum install epel-release
y
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Degradar o bajar o downgrade versión de PHP 7 a la 5 en Linux CentOS 7
En primer lugar desinstalaremos todos los paquetes de PHP instalados actualmente, para ello ejecutaremos el comando:
yum remove «php-*» -y
Instalaremos PHP 5.6, en el comando desactivaremos el repositorio de PHP 7 para que no lo instale y activamos PHP 5.6:
yum –disablerepo=remi-php73 –enablerepo=remi-php56 install php php-gd php-mbstring php-mysql php-curl php-mcrypt php-ldap
Es posible que nos solicite confirmación para la descarga e instalación de los paquetes, responderemos «y» e INTRO.
Verificar que se ha instalado PHP 5.6 y que funciona correctamente el servidor web con Apache y PHP
Una vez finalizado el proceso, nos mostrará ¡Listo!. Ahora comprobaremos que, efectivamente, tenemos instalado PHP 5.6, para ello ejecutaremos el comando:
php -ver
Devolviendo:
PHP 5.6.40 (cli) (built: Aug 28 2019 15:03:50)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
Si teníamos el servidor web iniciado con Apache reiniciaremos el servicio para que aplique los cambios de PHP 7 al 5:
systemctl restart httpd
Para verificar que el servidor web Apache carga bien los módulos de PHP 5.6 podremos añadir a /var/www/html un fichero con el nombre info_php.php:
cd /var/www/html
nano info_php.php
Suponiendo que el sitio web del servidor web tiene establecida como su raíz la carpeta /var/www/html, en caso contrario la cambiaremos por la correspondiente.
Añadiremos el siguiente contenido al fichero:
1 2 3 4 |
<?php // Muestra toda la información de PHP phpinfo(); ?> |
Si todo es correcto, desde un navegador, nos mostrará la siguiente ventana:
Anexo
Resultado de la ejecución del comando: yum remove «php-*» -y
# yum remove «php-*» -y
Complementos cargados:fastestmirror
Resolviendo dependencias
–> Ejecutando prueba de transacción
—> Paquete php.x86_64 0:7.3.2-1.el7.remi debe ser eliminado
—> Paquete php-bcmath.x86_64 0:7.3.2-1.el7.remi debe ser eliminado
—> Paquete php-cli.x86_64 0:7.3.2-1.el7.remi debe ser eliminado
—> Paquete php-common.x86_64 0:7.3.2-1.el7.remi debe ser eliminado
–> Procesando dependencias: php(language) >= 5.3.7 para el paquete: phpMyAdmin-4.4.15.10-3.el7.noarch
–> Procesando dependencias: php-bz2 para el paquete: phpMyAdmin-4.4.15.10-3.el7.noarch
–> Procesando dependencias: php-ctype para el paquete: phpMyAdmin-4.4.15.10-3.el7.noarch
–> Procesando dependencias: php-curl para el paquete: phpMyAdmin-4.4.15.10-3.el7.noarch
–> Procesando dependencias: php-date para el paquete: phpMyAdmin-4.4.15.10-3.el7.noarch
–> Procesando dependencias: php-filter para el paquete: phpMyAdmin-4.4.15.10-3.el7.noarch
–> Procesando dependencias: php-iconv para el paquete: phpMyAdmin-4.4.15.10-3.el7.noarch
–> Procesando dependencias: php-libxml para el paquete: phpMyAdmin-4.4.15.10-3.el7.noarch
–> Procesando dependencias: php-openssl para el paquete: phpMyAdmin-4.4.15.10-3.el7.noarch
–> Procesando dependencias: php-pcre para el paquete: phpMyAdmin-4.4.15.10-3.el7.noarch
–> Procesando dependencias: php-session para el paquete: phpMyAdmin-4.4.15.10-3.el7.noarch
–> Procesando dependencias: php-spl para el paquete: phpMyAdmin-4.4.15.10-3.el7.noarch
–> Procesando dependencias: php-zlib para el paquete: phpMyAdmin-4.4.15.10-3.el7.noarch
—> Paquete php-gd.x86_64 0:7.3.2-1.el7.remi debe ser eliminado
—> Paquete php-json.x86_64 0:7.3.2-1.el7.remi debe ser eliminado
—> Paquete php-ldap.x86_64 0:7.3.2-1.el7.remi debe ser eliminado
—> Paquete php-mbstring.x86_64 0:7.3.2-1.el7.remi debe ser eliminado
—> Paquete php-mysqlnd.x86_64 0:7.3.2-1.el7.remi debe ser eliminado
—> Paquete php-odbc.x86_64 0:7.3.2-1.el7.remi debe ser eliminado
—> Paquete php-pdo.x86_64 0:7.3.2-1.el7.remi debe ser eliminado
—> Paquete php-pear.noarch 1:1.9.4-21.el7 debe ser eliminado
—> Paquete php-pecl-mcrypt.x86_64 0:1.0.2-2.el7.remi.7.3 debe ser eliminado
—> Paquete php-pecl-zip.x86_64 0:1.15.4-1.el7.remi.7.3 debe ser eliminado
—> Paquete php-php-gettext.noarch 0:1.0.11-10.el7 debe ser eliminado
—> Paquete php-process.x86_64 0:7.3.2-1.el7.remi debe ser eliminado
—> Paquete php-snmp.x86_64 0:7.3.2-1.el7.remi debe ser eliminado
—> Paquete php-soap.x86_64 0:7.3.2-1.el7.remi debe ser eliminado
—> Paquete php-tcpdf.noarch 0:6.0.098-1.el7 debe ser eliminado
—> Paquete php-tcpdf-dejavu-sans-fonts.noarch 0:6.0.098-1.el7 debe ser eliminado
—> Paquete php-tidy.x86_64 0:7.3.2-1.el7.remi debe ser eliminado
—> Paquete php-xml.x86_64 0:7.3.2-1.el7.remi debe ser eliminado
—> Paquete php-xmlrpc.x86_64 0:7.3.2-1.el7.remi debe ser eliminado
–> Ejecutando prueba de transacción
—> Paquete phpMyAdmin.noarch 0:4.4.15.10-3.el7 debe ser eliminado
–> Resolución de dependencias finalizada
Resumen de la transacción
Eliminar 23 Paquetes (+1 Paquete dependiente)
Tamaño instalado: 83 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Eliminando : phpMyAdmin-4.4.15.10-3.el7.noarch
advertencia:/etc/phpMyAdmin/config.inc.php guardado como /etc/phpMyAdmin/config.inc.php.rpmsave
advertencia:/etc/httpd/conf.d/phpMyAdmin.conf guardado como /etc/httpd/conf.d/phpMyAdmin.conf.rpmsave
php.x86_64 0:7.3.2-1.el7.remi php-bcmath.x86_64 0:7.3.2-1.el7.remi
php-cli.x86_64 0:7.3.2-1.el7.remi php-common.x86_64 0:7.3.2-1.el7.remi
php-gd.x86_64 0:7.3.2-1.el7.remi php-json.x86_64 0:7.3.2-1.el7.remi
php-ldap.x86_64 0:7.3.2-1.el7.remi php-mbstring.x86_64 0:7.3.2-1.el7.remi
php-mysqlnd.x86_64 0:7.3.2-1.el7.remi php-odbc.x86_64 0:7.3.2-1.el7.remi
php-pdo.x86_64 0:7.3.2-1.el7.remi php-pear.noarch 1:1.9.4-21.el7
php-pecl-mcrypt.x86_64 0:1.0.2-2.el7.remi.7.3 php-pecl-zip.x86_64 0:1.15.4-1.el7.remi.7.3
php-php-gettext.noarch 0:1.0.11-10.el7 php-process.x86_64 0:7.3.2-1.el7.remi
php-snmp.x86_64 0:7.3.2-1.el7.remi php-soap.x86_64 0:7.3.2-1.el7.remi
php-tcpdf.noarch 0:6.0.098-1.el7 php-tcpdf-dejavu-sans-fonts.noarch 0:6.0.098-1.el7
php-tidy.x86_64 0:7.3.2-1.el7.remi php-xml.x86_64 0:7.3.2-1.el7.remi
php-xmlrpc.x86_64 0:7.3.2-1.el7.remi
Dependencia(s) eliminada(s):
phpMyAdmin.noarch 0:4.4.15.10-3.el7
¡Listo!
Resultado de la ejecución del comando: yum –disablerepo=remi-php73 –enablerepo=remi-php56 install php php-gd php-mbstring php-mysql php-curl php-mcrypt php-ldap
# yum –disablerepo=remi-php73 –enablerepo=remi-php56 install php php-gd php-mbstring php-mysql php-curl php-mcrypt php-ldap
Complementos cargados:fastestmirror
Loading mirror speeds from cached hostfile
base: mirror.gadix.com
epel: mirror.logol.ru
extras: mirror.gadix.com
remi-php56: remi.xpg.com.br
remi-safe: remi.xpg.com.br
rpmforge: mirror.awanti.com
updates: ftp.uma.es
El paquete php-mysql se hace obsoleto con php-mysqlnd, en su lugar se está intentando instalar php-mysqlnd-5.6.40-13.el7.remi.x86_64
Resolviendo dependencias
–> Ejecutando prueba de transacción
—> Paquete php.x86_64 0:5.6.40-13.el7.remi debe ser instalado
–> Procesando dependencias: php-cli(x86-64) = 5.6.40-13.el7.remi para el paquete: php-5.6.40-13.el7.remi.x86_64
—> Paquete php-common.x86_64 0:5.6.40-13.el7.remi debe ser instalado
–> Procesando dependencias: php-pecl-jsonc(x86-64) para el paquete: php-common-5.6.40-13.el7.remi.x86_64
–> Procesando dependencias: php-pecl-zip(x86-64) para el paquete: php-common-5.6.40-13.el7.remi.x86_64
—> Paquete php-gd.x86_64 0:5.6.40-13.el7.remi debe ser instalado
—> Paquete php-ldap.x86_64 0:5.6.40-13.el7.remi debe ser instalado
—> Paquete php-mbstring.x86_64 0:5.6.40-13.el7.remi debe ser instalado
—> Paquete php-mcrypt.x86_64 0:5.6.40-13.el7.remi debe ser instalado
—> Paquete php-mysqlnd.x86_64 0:5.6.40-13.el7.remi debe ser instalado
–> Procesando dependencias: php-pdo(x86-64) = 5.6.40-13.el7.remi para el paquete: php-mysqlnd-5.6.40-13.el7.remi.x86_64
–> Ejecutando prueba de transacción
—> Paquete php-cli.x86_64 0:5.6.40-13.el7.remi debe ser instalado
—> Paquete php-pdo.x86_64 0:5.6.40-13.el7.remi debe ser instalado
—> Paquete php-pecl-jsonc.x86_64 0:1.3.10-2.el7.remi.5.6 debe ser instalado
—> Paquete php-pecl-zip.x86_64 0:1.15.5-1.el7.remi.5.6 debe ser instalado
–> Procesando dependencias: libzip5(x86-64) >= 1.5.2 para el paquete: php-pecl-zip-1.15.5-1.el7.remi.5.6.x86_64
–> Ejecutando prueba de transacción
—> Paquete libzip5.x86_64 0:1.5.1-1.el7.remi debe ser actualizado
—> Paquete libzip5.x86_64 0:1.5.2-1.el7.remi debe ser una actualización
–> Resolución de dependencias finalizada
Resumen de la transacción
Instalar 7 Paquetes (+4 Paquetes dependientes)
Actualizar ( 1 Paquete dependiente)
Tamaño total de la descarga: 9.1 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Actualizando : libzip5-1.5.2-1.el7.remi.x86_64 Instalando : php-pecl-jsonc-1.3.10-2.el7.remi.5.6.x86_64
Instalando : php-common-5.6.40-13.el7.remi.x86_64
Instalando : php-pecl-zip-1.15.5-1.el7.remi.5.6.x86_64
Instalando : php-pdo-5.6.40-13.el7.remi.x86_64
Instalando : php-cli-5.6.40-13.el7.remi.x86_64
Instalando : php-5.6.40-13.el7.remi.x86_64
Instalando : php-mysqlnd-5.6.40-13.el7.remi.x86_64
Instalando : php-mbstring-5.6.40-13.el7.remi.x86_64
Instalando : php-gd-5.6.40-13.el7.remi.x86_64
Instalando : php-mcrypt-5.6.40-13.el7.remi.x86_64
Instalando : php-ldap-5.6.40-13.el7.remi.x86_64
Limpieza : libzip5-1.5.1-1.el7.remi.x86_64
WARNING : PHP 5.6 have reached its «End of Life» in
January 2019. Even, if this package includes some of
the important security fix, backported from 7.1, the
UPGRADE to a maintained version is very strongly RECOMMENDED.
Comprobando : php-mbstring-5.6.40-13.el7.remi.x86_64
Comprobando : php-pdo-5.6.40-13.el7.remi.x86_64
Comprobando : php-gd-5.6.40-13.el7.remi.x86_64
Comprobando : php-mysqlnd-5.6.40-13.el7.remi.x86_64
Comprobando : php-cli-5.6.40-13.el7.remi.x86_64
Comprobando : php-mcrypt-5.6.40-13.el7.remi.x86_64
Comprobando : libzip5-1.5.2-1.el7.remi.x86_64
Comprobando : php-common-5.6.40-13.el7.remi.x86_64
Comprobando : php-ldap-5.6.40-13.el7.remi.x86_64
Comprobando : php-5.6.40-13.el7.remi.x86_64
Comprobando : php-pecl-jsonc-1.3.10-2.el7.remi.5.6.x86_64
Comprobando : php-pecl-zip-1.15.5-1.el7.remi.5.6.x86_64
Comprobando : libzip5-1.5.1-1.el7.remi.x86_64
Instalado:
php.x86_64 0:5.6.40-13.el7.remi php-common.x86_64 0:5.6.40-13.el7.remi php-gd.x86_64 0:5.6.40-13.el7.remi php-ldap.x86_64 0:5.6.40-13.el7.remi php-mbstring.x86_64 0:5.6.40-13.el7.remi php-mcrypt.x86_64 0:5.6.40-13.el7.remi
php-mysqlnd.x86_64 0:5.6.40-13.el7.remi
Dependencia(s) instalada(s):
php-cli.x86_64 0:5.6.40-13.el7.remi php-pdo.x86_64 0:5.6.40-13.el7.remi php-pecl-jsonc.x86_64 0:1.3.10-2.el7.remi.5.6 php-pecl-zip.x86_64 0:1.15.5-1.el7.remi.5.6
Dependencia(s) actualizada(s):
libzip5.x86_64 0:1.5.2-1.el7.remi
¡Listo!