Jak przywrócić do PHP 5.2?

13

Właśnie zainstalowałem 10.04 LTS na moim serwerze programistycznym, ale system, który muszę na nim uruchomić (e-commerce Magento) nie jest kompatybilny z PHP 5.3, który jest dostarczany z najnowszą wersją Ubuntu. Czy istnieje bezpieczny i odporny na aktualizację sposób na zainstalowanie PHP 5.2, czy łatwiej będzie używać starszej wersji Ubuntu?

silvo
źródło

Odpowiedzi:

9

Możesz użyć mojego PPA , które stworzyłem w tym celu. Zwróć uwagę na konieczne przypięcie. Również aptitude nie rozpozna przypinania. Musisz użyć metody specyficznej dla aptitude, jeśli chcesz jej użyć.

Uwaga - dotyczy tylko 10.04 (przejrzysty)

txwikinger
źródło
1
Gdzie jest twój PPA?
Nathan Osman,
Niestety .. nie jestem tak szybki: D launchpad.net/~txwikinger/+archive/php5.2
txwikinger
Czy mógłbyś również wyjaśnić, co powinienem zrobić z tym ppa?
silvo
@silvo: musisz dodać ppa do list źródeł, używając menedżera pakietów lub repozytorium add-apt w wierszu poleceń. Szczegóły dotyczące ppa znajdują się na stronie internetowej ppa.
txwikinger
To właściwie idealna odpowiedź, dzięki. Dla tych niepewnych, aby dodać ppa do źródeł, wykonaj sudo add-apt-repository ppa:txwikinger/php5.2z wiersza poleceń. Pamiętaj, aby skorzystać z linku ppa w poście i zastosować rozwiązanie pinowania txwikinger. Upewnij się, że uruchomisz, sudo apt-get updatezanim spróbujesz zainstalować pakiety!
adamnfish
2

Możliwe jest używanie pakietów karmicznych i przypinanie ich umiejętnością. Można to zrobić za pomocą następujących poleceń:

# remove all php packge
sudo aptitude purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
# use karmiс for php pakage
# pin-params:  a (archive), c (components), v (version), o (origin) and l (label).
echo -e "Package: php5\nPin: release a=karmic\nPin-Priority: 991\n"  | sudo tee   /etc/apt/preferences.d/php > /dev/null
apt-cache search php5-|grep php5-|awk '{print "Package:", $1,"\nPin: release   a=karmic\nPin-Priority: 991\n"}'|sudo tee -a /etc/apt/preferences.d/php > /dev/null
apt-cache search -n libapache2-mod-php5 |awk '{print "Package:", $1,"\nPin: release a=karmic\nPin-Priority: 991\n"}'| sudo tee -a /etc/apt/preferences.d/php > /dev/null
echo -e "Package: php-pear\nPin: release a=karmic\nPin-Priority: 991\n"  | sudo tee -a     /etc/apt/preferences.d/php > /dev/null
# add karmic to source list
grep 'main restricted' /etc/apt/sources.list|grep -v "#"| sed s/lucid/karmic/g | sudo tee             /etc/apt/sources.list.d/karmic.list > /dev/null
# update package database (use apt-get if aptitude crash)
sudo apt-get update
# install php
sudo aptitude install -t karmic php5-cli php5-cgi
# or (and) sudo apt-get install -t karmic  libapache2-mod-php5
sudo aptitude hold `dpkg -l | grep php5| awk '{print $2}' |tr "\n" " "`
#done

Mam to z tekstu linku

kone4040
źródło
2

Ostatnio sam próbowałem rozwiązać ten sam problem. Zamiast wprowadzania zmian w zarządzaniu pakietami sam skompilowałem PHP 5.2.17 z kodu źródłowego, a następnie użyłem programu Checkinstall, aby zainstalować nowy pakiet .deb w moim systemie.

Napisałem kroki w poście na blogu, Kompilowanie PHP 5.2 dla Ubuntu 10.10 , ale kroki zasadniczo dotyczyły następujących czynności:

  1. Pobierz źródło PHP (http://php.net/downloads.php) do / usr / local / src
  2. Skonfiguruj źródło, czytając ZAINSTALUJ dokument i dane wyjściowe z ./configure --help

moje polecenie konfiguracji wyglądało następująco:

./configure --prefix=/opt --with-apxs2=/usr/bin/apxs2 --with-curl=/usr/lib --with-pgsql --with-pear --with-mysql --with-gd
  1. Skompiluj źródło używając „make”
  2. Zainstaluj skompilowany pakiet za pomocą polecenia „checkinstall”

I o to chodziło. Zainstalowałem już Apache2 przy użyciu Synaptic (musisz użyć pakietu apache2-mpm-prefork do użytku z PHP). Ponadto, jeśli masz już zainstalowane pakiety PHP5, musisz je odinstalować przed próbą zainstalowania własnego skompilowanego pakietu.

Samodzielne skompilowanie pakietu naprawdę nie zajmuje dużo czasu i jest dobrym doświadczeniem, jeśli nie zostało to jeszcze zrobione na komputerze Ubuntu.


źródło