Zainstaluj PHP5 na Ubuntu 18.04

20

Mam stare narzędzie PHP, które nie jest łatwe do dostosowania do PHP7. Więc muszę uruchomić PHP5 na moim serwerze.

Jak mogę zainstalować PHP5 na Ubuntu Bionic Beaver?

rubo77
źródło

Odpowiedzi:

33

Nie zaleca się kontynuowania PHP 5.6, czyli EOL od stycznia 2010!

Ale możesz zainstalować PHP5.6 z PPA:

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

źródło: /ubuntu//a/762161/34298

rubo77
źródło
najpierw musisz zainstalować „sudo apt install software-properties-commo”, aby uzyskać komendę „add-apt-repository”
ZFNerd
Dla mnie w Ubuntu 19.04 sudo apt-get install php5.6działało tylko
Gayan
2

Możesz rozważyć uruchomienie narzędzia PHP 5 w kontenerze, np. Docker. PHP 5 zbliża się do końca życia, a jeśli używasz PHP 7 na tym samym komputerze, możesz napotkać konflikty.

Istnieje kilka oficjalnych obrazów Dockera dla PHP 5: https://hub.docker.com/_/php/

Abry Rath
źródło
Czy to jest bezpieczniejsze niż instalacja PHP 5? Nie potrzebuję PHP 7 na tej
maszynie
Nie potrzebujesz środowiska kontenerowego, jeśli w ogóle nie potrzebujesz PHP 7, po prostu odinstaluj PHP 7 i zainstaluj PHP 5 z repozytorium ondrej w innej odpowiedzi w takim przypadku.
RedScourge
1

Kilka możliwości, jak wspomniano w innych odpowiedziach:

  • Użyj repozytorium PPA Ondrej / php, aby zainstalować PHP 5.6:

Lubię to:

sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt install php5.6
  • Skorzystaj z systemów kontenerowych Docker lub LXD, aby zbudować małe środowisko PHP 5, uruchom je w systemie Ubuntu 18.04 i przekaż wszystkie żądania sieciowe wymagające PHP 5. Słyszałem, że możesz przekonwertować całą maszynę wirtualną Ubuntu 12.04 lub 14.04 na kontener z lxd-p2c i uruchomić ją w Ubuntu 18.04, podobnie jak w tej prezentacji: „Przekształcanie systemów fizycznych w kontenery Migracja do kontenerów systemowych”

  • Możesz także skonfigurować drugi serwer (lub maszynę wirtualną) i po prostu mieć Apache w głównym systemie 18.04, aby przesyłać żądania proxy dla stron wymagających PHP 5. System ten nie musi być dostępny w Internecie, ponieważ system 18.04 zostanie wystawiony na świat zewnętrzny. Jeśli potrzebujesz register_globals, możesz albo użyć Ubuntu 12.04 z PHP 5.3.2, który nie jest już oficjalnie obsługiwany, albo Ubuntu 14.04 z PHP 5.5.9 z fragmentem kodu na początku wszystkich plików, aby emulować register_globals. Zapomniałem fragmentu kodu, ale możesz go sprawdzić. Oto odpowiednie pliki konfiguracyjne, które prawdopodobnie powinny działać w celu proxy witryny SSL z jednego serwera na drugi, zakładając, że reszta konfiguracji jest poprawna i wymagane mody są włączone:

Na Ubuntu 18.04 serwer Apache robi proxy w 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

Na serwerze Ubuntu 14.04 z serwerem proxy pod adresem 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
źródło