Instalar PHP5 en Ubuntu 18.04

20

Tengo una herramienta PHP antigua que no se puede adaptar fácilmente a PHP7. Entonces tengo que ejecutar PHP5 en mi servidor.

¿Cómo puedo instalar PHP5 en Ubuntu Bionic Beaver?

rubo77
fuente

Respuestas:

33

¡No se recomienda continuar PHP 5.6, que es EOL desde enero de 2010!

Pero puede instalar PHP5.6 desde un PPA:

sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt install php5.6

fuente: /ubuntu//a/762161/34298

rubo77
fuente
primero debe instalar "sudo apt install software-properties-commo" para obtener el comando "add-apt-repository"
ZFNerd
Para mí en ubuntu 19.04 solo sudo apt-get install php5.6funcionó
Gayan
2

Es posible que desee considerar ejecutar su herramienta PHP 5 en un contenedor, por ejemplo, Docker. PHP 5 está llegando al final de su vida útil y si usa PHP 7 en la misma máquina, puede encontrarse con conflictos.

Hay varias imágenes oficiales de Docker disponibles para PHP 5: https://hub.docker.com/_/php/

Abry Rath
fuente
¿Es esto más seguro que simplemente instalar PHP 5? No necesito PHP 7 en ese mashine
rubo77
No necesita un entorno contenedor si no necesita PHP 7, simplemente desinstale PHP 7 e instale PHP 5 desde el repositorio de ondrej en la otra respuesta en ese caso.
RedScourge
1

Varias opciones, como se menciona en las otras respuestas:

  • Use el repositorio Ondrej / php PPA para instalar PHP 5.6:

Me gusta esto:

sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt install php5.6
  • Utilice los sistemas de contenedores Docker o LXD para crear un entorno PHP 5 pequeño, ejecútelo dentro de Ubuntu 18.04 y reenvíe todas las solicitudes web que requieran PHP 5. Escuché que en realidad puedes convertir una máquina virtual completa de Ubuntu 12.04 o 14.04 en un contenedor con lxd-p2c y ejecutarlo dentro de Ubuntu 18.04, algo así como lo hacen en esta presentación: "Convertir sistemas físicos en contenedores Migrar a contenedores del sistema"

  • También puede configurar un segundo servidor (o VM) y solo tener Apache en el sistema principal 18.04 para proxy de solicitudes de sitios que requieren PHP 5. Ese sistema no necesita ser accesible desde la web, ya que el sistema 18.04 será el expuesto al mundo exterior. Si necesita register_globals, puede usar Ubuntu 12.04 con PHP 5.3.2 que ya no es oficialmente compatible, o Ubuntu 14.04 con PHP 5.5.9 con un fragmento de código al comienzo de todos sus archivos para emular register_globals. Olvidé el fragmento de código pero puedes buscarlo. Aquí están los archivos de configuración relevantes que probablemente deberían funcionar para enviar un sitio SSL de un servidor a otro, suponiendo que el resto de su configuración sea correcta y que las modificaciones requeridas estén habilitadas:

En el servidor Apache Ubuntu 18.04 haciendo el proxy en 192.168.1.2:

#requires mod_remoteip and mod_proxy
RemoteIPHeader X-Forwarded-For
TrustedProxy 192.168.1.2

SSLProxyEngine On
ProxyPreserveHost On
ProxyPass / https://example.org/ retry=0
ProxyPassReverse https://example.org/ retry=0

En el servidor Ubuntu 14.04 con proxy en 192.168.1.3:

#requires mod_proxy
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 192.168.1.2 
RemoteIPInternalProxy 192.168.1.1 #assuming your router IP is 1.1
RedScourge
fuente