Instalowanie PHP 5.3 w Ubuntu 14.04

35

Właśnie zainstalowałem Ubuntu 14.04 i próbuję zainstalować php 5.3. Ale kiedy biegnę

apt-get install php5 

instaluje php 5.5.9-1ubuntu4. Muszę używać php 5.3 w systemie, ponieważ aplikacja, nad którą pracuję, jest zbudowana z php 5.3.

Jak mogę to osiągnąć?

Chathruaka Waas
źródło
1
potrzebujesz php 5.3 lub php 5.5.3?
Potrzebuję php 5.3, ponieważ jest używana aplikacja Pracuję.
Chathruaka Waas
7
Oszczędź sobie cierpienia i wróć do 12.04 - Z twoich komentarzy rozumiem, że masz projekt wykorzystujący PHP 5.3, z mojego doświadczenia miałem ten sam problem, kiedy przeniosłem się do 14.04. Wszystkie moje projekty CakePHP nie działały. Wszystkie podane tutaj sugestie działają, udało mi się zainstalować PHP 5.3, ręcznie go budując zgodnie z odpowiedzią @raaz. Ale zaufaj mi, nawet jeśli pomyślnie zainstalujesz PHP 5.3, będzie miał wiele problemów z zależnościami z innymi pakietami i usługami, takimi jak apache, mysql itp. Zmarnowałem 2 dni, próbując sprawić, że wszystko działa, ale w końcu wróciłem do 12.04. Uwaga: - W przypadku pytania t
Nitish Dhar
2
Musisz użyć najnowszej wersji PHP, ponieważ poprzednia jest przestarzała.
Lucio

Odpowiedzi:

24

Warunki wstępne

Będziesz potrzebował tych dwóch dodatkowych pakietów, jeśli ich nie masz:

sudo apt-get install build-essential libxml2-dev

Zainstaluj PHP

W terminalu:

wget http://in1.php.net/distributions/php-5.3.29.tar.bz2
tar -xvf php-5.3.29.tar.bz2
cd php-5.3.29
./configure
make
make test # Neither mandatory nor a bad idea.
sudo make install

Instrukcje rozpakują kompilację źródłową i zainstalują php w twoim systemie.

rɑːdʒɑ
źródło
spowodowało błąd podczas korzystania z polecenia make. root @ Chathuraka-Dell: ~ / php-5.3.28 # make make: *** Nie określono celów i nie znaleziono pliku makefile. Zatrzymać. root @ Chathuraka-Dell: ~ / php-5.3.28 # make install make: *** Brak reguły określającej docelowy `install '. Zatrzymać.
Chathruaka Waas
@ChathruakaWaas, co masz po zrobieniu ./configure? potrzebuję tego dziennika. użyj pastebin i podaj mi link
rɑːdʒɑ
3
Skorzystaj z apt-get install libxml2-dev
complex
2
działało dobrze dla mnie, ale kto wie, jakie dodatkowe biblioteki mam w swoim systemie ... Chociaż jedną rzeczą, którą zrobiłem inaczej, było to, że nie korzystałem z niego, sudodopóki nie wykonałem polecenia make install. To jedyny raz, kiedy coś potrzebujesudo
Jacob Minshall
3
Ponieważ miałem już zainstalowany php5, musiałemsudo apt-get purge php5 && sudo apt-get install libxml2-dev
jmunsch
9

Możesz użyć Eugene San PPA do instalacji php 5.3 w Ubuntu 14.04.

Wykonaj następujące kroki:

sudo add-apt-repository ppa:eugenesan/ppa

sudo apt-get update

sudo apt-get install php5
Sylvain Pineau
źródło
postępował zgodnie z instrukcjami i wynik był następujący. dpkg: problemy z zależnością uniemożliwiają konfigurację php5: php5 zależy od libapache2-mod-php5 (> = 5.3.2-1ubuntu4) | libapache2-mod-php5filter (> = 5.3.2-1ubuntu4) | php5-cgi (> = 5.3.2-1ubuntu4); jednak: Pakiet libapache2-mod-php5 nie jest zainstalowany. Pakiet libapache2-mod-php5filter nie jest zainstalowany. Pakiet php5-cgi nie jest zainstalowany. dpkg: błąd przetwarzania pakietu php5 (--install): problemy z zależnością - pozostawienie nieskonfigurowanych Napotkano błędy podczas przetwarzania: php5
Chathruaka Waas
Śledź edycję i zobacz.
3
Nie działa Próbowałem, ale ostatecznie zainstalowałem 5.5.9
Eugene
2
To nie działa ..
KyungHoon Kim
2
Zamiast tego możesz użyć ppa:sergey-dryabzhinsky/php53.
nnyby
5

To trzeba powtarzać w kółko: Nie uruchamiaj przestarzałego oprogramowania.

PHP 5.3 dobiegło końca 14 sierpnia 2014 r. , To jest 1 rok i 8 miesięcy temu w momencie pisania tej odpowiedzi.

Korzystanie z przestarzałego oprogramowania wycofywanego z użytkowania nie przyniesie nic oprócz bólu i luk w zabezpieczeniach, chyba że możesz zainwestować czas, aby właściwie zbadać wszystkie istniejące luki w zabezpieczeniach przeciwko PHP od ostatniej wersji PHP 5.3.x i starannie wybrać poprawki zabezpieczeń z wielu innych. ostatnie PHP sam się wypuszcza.

Zdecydowanie polecam zamiast tego naprawić oprogramowanie, które wymaga PHP 5.3, postępując zgodnie z przewodnikami migracji PHP:

I nawet poleciłbym przejście bezpośrednio do PHP 5.6 (lub nawet PHP 7.0), ponieważ będzie on obsługiwać zabezpieczenia do 31 grudnia 2018 r . Przewodniki migracji są tutaj:

Migracja kodu do nowszego kodu PHP może wydawać się dużą inwestycją, ale w końcu pozwoli to zaoszczędzić czas i pieniądze, ponieważ uruchamianie przestarzałego oprogramowania stanowi poważne zagrożenie dla bezpieczeństwa, szczególnie w przypadku połączenia z dużym złym Internetem, ale nawet uruchomieniem go zapora ogniowa wewnątrz ograniczonej sieci stanowi zagrożenie dla bezpieczeństwa podczas ataku na twoją sieć wewnętrzną.

Drugą opcją byłoby użycie Ubuntu 12.04 LTS z PHP 5.3.10-1ubuntu3.22 z łatkami bezpieczeństwa przygotowanymi przez opiekunów Canonical. Możesz myśleć, że 5.3.10 jest mniejszy niż 5.3.29, ale faktem jest, że wersja PHP w Ubuntu 12.04 LTS ma mniej (poważne) luki w zabezpieczeniach niż waniliowa wersja PHP 5.3.29, ponieważ opiekunowie Ubuntu PHP obserwują luki w zabezpieczeniach i łatanie PHP w celu ograniczenia poważnych luk w pakietach.

oerdnj
źródło
16
W idealnym świecie tak, ale niestety czasami trzeba replikować starszy serwer, który jest nieaktualny i nie jest dostępny. Aby wirtualnie wyśmiewać środowisko produkcyjne, musisz mieć możliwość instalowania starszych pakietów. Następnie, gdy masz wyśmiewane środowisko testowe 1: 1, możesz rozpocząć proces aktualizacji (jeśli dotyczy twojego scenariusza).
Dylan Pierce
Przykładem tego jest kod źródłowy php, który został zakodowany za pomocą starej wersji narzędzia ioncube. Musisz zainstalować starsze wersje php i loader.
Dominic Cerisano,