web-dev-qa-db-fra.com

Installer PHP5 sur Ubuntu 18.04

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

Comment installer PHP5 sur Ubuntu Bionic Beaver?

18
rubo77

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: https://askubuntu.com/a/762161/34298

31
rubo77

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

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

1
Abry Rath

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

  • Utilisez le référentiel PPA Ondrej/php 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 conteneur Docker ou LXD pour créer un petit environnement PHP 5, exécutez-le dans Ubuntu 18.04 et transmettez-lui toutes les demandes Web nécessitant PHP 5. J'ai entendu dire que vous pouvez réellement convertir un VM entier 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: "Turning physical systèmes dans des conteneurs Migration vers des conteneurs système "

  • Vous pouvez également configurer un deuxième serveur (ou une machine virtuelle) et laisser Apache sur le système principal 18.04 effectuer des requêtes proxy 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 exposé au monde extérieur. Si vous avez besoin de register_globals, vous pouvez soit utiliser Ubuntu 12.04 avec PHP 5.3.2 qui n'est plus officiellement pris en charge, soit 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 soit correcte et que les mods requis soient activés:

Sur un serveur Apache sous Ubuntu 18.04 faisant 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 un serveur Ubuntu 14.04 dont le serveur mandataire est 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
1
RedScourge