Installer PHP5 sur Ubuntu 18.04

20

J'ai un vieil outil PHP en cours d'exécution qui n'est pas facilement adaptable à PHP7. Je dois donc exécuter PHP5 sur mon serveur.

Comment puis-je installer PHP5 sur Ubuntu Bionic Beaver?

rubo77
la source

Réponses:

33

Il n'est pas recommandé de continuer PHP 5.6, qui est EOL depuis janvier 2010!

Mais vous pouvez installer PHP5.6 à partir d'un PPA:

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

source: /ubuntu//a/762161/34298

rubo77
la source
vous devez d'abord installer "sudo apt install software-properties-commo" pour obtenir la commande "add-apt-repository"
ZFNerd
Pour moi, dans Ubuntu 19.04, cela n'a sudo apt-get install php5.6fonctionné que
Gayan
2

Vous voudrez peut-être envisager d'exécuter votre outil PHP 5 dans un conteneur, par exemple Docker. PHP 5 touche à sa fin de vie et si vous utilisez PHP 7 sur la même machine, vous risquez de rencontrer des conflits.

Plusieurs images Docker officielles sont disponibles pour PHP 5: https://hub.docker.com/_/php/

Abry Rath
la source
Est-ce plus sûr que d'installer PHP 5? Je n'ai pas besoin de PHP 7 sur cette mashine
rubo77
Vous n'avez pas besoin d'un environnement de conteneur si vous n'avez pas du tout besoin de PHP 7, désinstallez simplement PHP 7 et installez PHP 5 à partir du référentiel ondrej dans l'autre réponse dans ce cas.
RedScourge
1

Plusieurs choix, comme mentionné par les autres réponses:

  • Utilisez le repo Ondrej / php PPA pour installer PHP 5.6:

Comme ça:

sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt install php5.6
  • Utilisez les systèmes de conteneurs Docker ou LXD pour créer un petit environnement PHP 5, exécutez-le dans Ubuntu 18.04 et transférez-y toutes les demandes Web nécessitant PHP 5. J'entends que vous pouvez réellement convertir une VM entière d'Ubuntu 12.04 ou 14.04 en un conteneur avec lxd-p2c et l'exécuter dans Ubuntu 18.04, un peu comme ils le font dans cette présentation: "Transformer des systèmes physiques en conteneurs Migration vers des conteneurs système"

  • Vous pouvez également configurer un deuxième serveur (ou VM) et simplement avoir Apache sur le système principal 18.04 pour proxy les requêtes pour les sites nécessitant PHP 5. Ce système n'a pas besoin d'être accessible sur le Web, car le système 18.04 sera celui qui sera exposé au monde extérieur. Si vous avez besoin de register_globals, vous pouvez utiliser Ubuntu 12.04 avec PHP 5.3.2 qui n'est plus officiellement pris en charge, ou Ubuntu 14.04 avec PHP 5.5.9 avec un extrait de code au début de tous vos fichiers pour émuler register_globals. J'ai oublié l'extrait de code mais vous pouvez le rechercher. Voici les fichiers de configuration pertinents qui devraient probablement fonctionner pour le proxy d'un site SSL d'un serveur à un autre, en supposant que le reste de votre configuration est correct et que les mods requis sont activés:

Sur Ubuntu 18.04, serveur Apache effectuant le proxy à 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

Sur le serveur Ubuntu 14.04 en cours de proxy à 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
la source