Come ripristinare a PHP 5.2?


13

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?

Risposte:


9

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)


1
Dove si trova il vostro PPA?
Nathan Osman,

Scusa, non sono così veloce: D launchpad.net/~txwikinger/+archive/php5.2
txwikinger

Potresti anche spiegare cosa dovrei fare con questo ppa?
silvo,

@silvo: devi aggiungere il ppa agli elenchi delle tue fonti, usando il tuo gestore di pacchetti o usando il repository add-apt sulla riga di comando. I dettagli per il ppa sono sul sito web del ppa.
txwikinger,

Questa è praticamente la risposta perfetta, grazie. Per quelli incerti, per aggiungere il ppa alle tue fonti fai sudo add-apt-repository ppa:txwikinger/php5.2dalla riga di comando. Assicurati di seguire il link ppa nel post e applicare la soluzione di pinning di txwikinger. Assicurati di eseguire sudo apt-get updateprima di provare a installare i pacchetti!
Adamnfish,

2

È 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

Capito dal testo del link



2

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 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, Compilazione di PHP 5.2 per Ubuntu 10.10 , ma i passaggi hanno sostanzialmente riguardato quanto segue:

  1. Scarica la fonte PHP (http://php.net/downloads.php) su / usr / local / src
  2. Configura sorgente, leggendo INSTALL doc e output da ./configure --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.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.