it-swarm.it

Come ripristinare a PHP 5.2?

Ho appena installato un 10.04 LTS sul mio server di sviluppo, ma il sistema che devo eseguire su di esso (Magento ecommerce) non è compatibile con PHP 5.3 fornito con la versione più recente di Ubuntu. Esiste un modo sicuro e a prova di aggiornamento per installare PHP 5.2 o sarà più semplice utilizzare una versione precedente di Ubuntu?

13
silvo

Puoi usare il mio ppa , che ho creato per questo scopo. Prestare attenzione al pinning necessario. Inoltre, aptitude non riconoscerà il pinning. È necessario utilizzare il metodo specifico di aptitude se si desidera utilizzarlo.

Nota: questo è solo per 10.04 (lucido)

9
txwikinger
2
Chaulky

Di recente ho provato a risolvere lo stesso problema da solo. Invece di apportare modifiche alla gestione dei pacchetti ho compilato PHP 5.2.17 dal codice sorgente me stesso e quindi ho usato il programma Checkinstall per installare il nuovo pacchetto .deb sul mio sistema.

Ho scritto i passaggi in un post sul blog, compilando PHP 5.2 per Ubuntu 10.1 , ma i passaggi hanno sostanzialmente riguardato quanto segue:

  1. Scarica PHP source (http://php.net/downloads.php) in/usr/local/src
  2. Configura sorgente, lettura INSTALLA doc e output da ./ configura --help

il mio comando configure appariva così:

./configure --prefix=/opt --with-apxs2=/usr/bin/apxs2 --with-curl=/usr/lib --with-pgsql --with-pear --with-mysql --with-Gd
  1. Compila il sorgente usando 'make'
  2. Installa il pacchetto compilato usando 'checkinstall'

E quello era. Avevo già installato Apache2 usando Synaptic (devi usare il pacchetto Apache2-mpm-prefork per l'uso con PHP). Inoltre, se hai già installato pacakges PHP5, dovrai disinstallarli prima di provare a installare il tuo pacchetto compilato.

Compilare il pacchetto da soli non richiede molto tempo ed è una buona esperienza se non l'hai già fatto sul tuo computer Ubuntu.

2
user10207

È possibile usare i pacchetti karmici e bloccarli con aptitude. Questo può essere fatto usando questi comandi:

# 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

Ottenuto da testo del link

2
kone4040