Jak obniżyć wersję z PHP 5.4 do 5.3

18

Niedawno zaktualizowałem PHP do wersji 5.4, ale wydaje się, że mi się to nie udaje, ponieważ APC z nim nie działa, jednak nie miałem wyboru, jak obniżyć wersję do 5.3, jak mogę to zrobić?

I wykonany apt-get remove php5a apt-get purge php5następnie usunąłem 5,4 repo z apt-get następnie stracony apt-get install php5, to mówi, że to było zainstalowanie 5,3, a ja ponownie uruchomiony php-fastcgi, a php5-fpmjednak gdy uruchamiam php -vmówi 5.4.

Jak mogę obniżyć wersję z 5.4 do 5.3?

Na moim serwerze działa Ubuntu 11.04.

MacMac
źródło

Odpowiedzi:

11

Obniżenie PHP z 5.4 na 5.3

W procesie obniżania Ubuntu jest naprawdę bałagan. Oto skrypt, który może ci się przydać ( usuwa PHP 5.4 i instaluje PHP 5.3 ):

sudo apt-get remove --purge `dpkg -l | grep php | grep -w 5.4 | awk '{print $2}' | xargs`
sudo apt-get install php5=5.3.10-1ubuntu3.4 php5-cli=5.3.10-1ubuntu3.4 php5-common=5.3.10-1ubuntu3.4 libapache2-mod-php5=5.3.10-1ubuntu3.4
sudo apt-get install php5=5.3.10-1ubuntu3.4 php5-cli=5.3.10-1ubuntu3.4 php5-common=5.3.10-1ubuntu3.4 libapache2-mod-php5=5.3.10-1ubuntu3.4
sudo apt-get install php-pear=5.3.10-1ubuntu3.4 php5-curl=5.3.10-1ubuntu3.4 php5-gd=5.3.10-1ubuntu3.4 php5-intl=5.3.10-1ubuntu3.4 php5-mysql=5.3.10-1ubuntu3.4 php5-pspell=5.3.10-1ubuntu3.4 php5-recode=5.3.10-1ubuntu3.4 php5-snmp=5.3.10-1ubuntu3.4 php5-sqlite=5.3.10-1ubuntu3.4 php5-tidy=5.3.10-1ubuntu3.4 php5-xmlrpc=5.3.10-1ubuntu3.4 php5-xsl=5.3.10-1ubuntu3.4

Gdzie dostępne wersje można sprawdzić za pomocą polecenia: apt-cache showpkg php5

Po instalacji sprawdź to za pomocą polecenia: php --version

Zachowaj ostrożność i nie instaluj żadnych innych pakietów bez określonej wersji pakietu (np. Php5-xcache), w przeciwnym razie apt-get ponownie zastąpi Twoją instancję PHP wersją 5.4!

Aby temu zapobiec, możesz przechowywać te paczki.

Przechowywanie pakietów za pomocą dpkg

Aby zatrzymać pakiety według dpkg, możesz wykonać następujące polecenie:

echo "php5 hold" | sudo dpkg --set-selections

Aby zatrzymać wszystkie pakiety PHP, uruchom następujące polecenie:

dpkg --get-selections | grep ^php5 | sed s/install/hold/g | sudo dpkg --set-selections

Następujące polecenie pokaże ci status twojego pakietu php:

sudo dpkg --get-selections | grep ^php

Przechowywanie pakietów za pomocą aptitude

Możesz także przechowywać pakiety przy użyciu aptitude np .:

sudo aptitude hold php5

Unhold:

sudo aptitude unhold php5
kenorb
źródło
3
W Ubuntu 13.x 5.3.10-1ubuntu3.4 już nie istnieje.
kenorb
Jak zabrałbyś się za cofanie odpowiedzi?
tolgap
Chcesz wrócić do PHP 5.4 lub odzyskać pliki konfiguracyjne? Pliki konfiguracyjne powinny być przechowywane bez zmian (nie należy usuwać osobistej konfiguracji). Jeśli chcesz wrócić do PHP 5.4, to cofnij, aby zatrzymać posiadane pakiety i ponownie zainstaluj php5, np. sudo apt-get install php5Przy ponownej instalacji lub usunięciu / instalacji.
kenorb
4

Najpierw wykonaj apt-cache showpkg php5. Tam zobaczysz wersję i inne informacje o pakiecie php5.

Aby zainstalować określoną wersję, uruchom apt-get install <package name>=<version>

W moim Ubuntu 11.10 byłoby to apt-get install php5=5.3.6-13ubuntu3.6

Luís Bianchin
źródło
6
Co jeśli apt-cache showpkg php5nie wyświetla się już 5.3.x?
Kenorb
2

Miałem podobny problem.

Usunąłem repozytoria.

Musisz pamiętać, że php -vuruchamia plik wykonywalny w php-clipakiecie, więc musisz to również usunąć.

Więc wróciłem do 5.3.10:

sudo apt-get remove php5-cli php5 php5-common
sudo apt-get install php5 php5-mysql php5-curl

Teraz powinno to pokazać pożądaną wersję:

php -v
Duński Javed
źródło
Instaluje dla mnie najnowszą wersję 5.6.
JohnnyQ,
2

Może ten poradnik pomoże ci: Jak obniżyć pakiet w Ubuntu

Aby pobrać i zainstalować dowolny pakiet dowolnej dostępnej wersji, musisz to zrobić:

sudo apt-get install Package=Version
rɑːdʒɑ
źródło
1

z kroków, które opisałeś, zapomniałeś apt-get update po wyczyszczeniu php5.4 i usunięciu repozytorium php5.4.

zakładając, że nie masz już repozytorium w apt źródłach, jeśli uruchomisz:

apt-get remove --purge php5 && apt-get update && apt-get install php5

powinieneś wrócić do 5.3

nathwill
źródło
W Ubuntu 13.x domyślnie php5 wskazuje na 5.4.x
kenorb