PHP 5.2'ye nasıl dönülür?


13

Geliştirme sunucuma 10.04 LTS yükledim ancak üzerinde çalıştırmam gereken sistem (Magento e-ticaret) Ubuntu'nun en yeni sürümüyle birlikte gelen PHP 5.3 ile uyumlu değil. PHP 5.2'yi kurmanın güvenli ve yükseltmeye dayanıklı bir yolu var mı yoksa Ubuntu'nun eski bir sürümünü kullanmak daha mı kolay olacak?

Yanıtlar:


9

Bu amaçla oluşturduğum ppa'mı kullanabilirsiniz . Lütfen gerekli olan sabitlemeye dikkat edin. Ayrıca, yetenek sabitlemeyi tanımayacaktır. Kullanmak istiyorsanız yetenek özel yöntemini kullanmalısınız.

Not - bu sadece 10.04 (açık) içindir


1
Nerede olduğunu PPA?
Nathan Osman

Üzgünüm .. O kadar hızlı değilim: D launchpad.net/~txwikinger/+archive/php5.2
txwikinger

Bu ppa ile ne yapmam gerektiğini de açıklayabilir misiniz?
silvo

@silvo: paket yöneticinizi kullanarak veya komut satırında add-apt-reposi kullanarak ppa'yı kaynak listelerinize eklemeniz gerekir. PPA için detaylar PPA web sitesinde bulunmaktadır.
txwikinger

Bu hemen hemen mükemmel cevap, teşekkürler. Emin değilseniz, kaynaklarınıza ppa eklemek sudo add-apt-repository ppa:txwikinger/php5.2için komut satırından yapın. Postadaki ppa bağlantısını takip ettiğinizden ve txwikinger'in sabitleme solüsyonunu uyguladığınızdan emin olun. sudo apt-get updatePaketleri yüklemeden önce çalıştırdığınızdan emin olun !
adamnfish

2

Karmik ambalajlar kullanmak ve bunları uygun bir şekilde sabitlemek mümkündür. Bu, şu komutlar kullanılarak yapılabilir:

# 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

Bunu bağlantı metninden aldım



2

Geçenlerde aynı problemi kendim çözmeye çalıştım. Paket yönetiminde değişiklik yapmak yerine kaynak koddan PHP 5.2.17'yi kendim derledim ve sonra sistemime yeni .deb paketini kurmak için Checkinstall programını kullandım .

Bir blog gönderisinde adımları yazdım, Ubuntu 10.10 için PHP 5.2 Derleme , ancak adımlar temelde aşağıdakileri içeriyordu:

  1. PHP kaynağını (http://php.net/downloads.php) / usr / local / src adresine indirin
  2. Kaynak yapılandırın, INSTALL belgesini okuyun ve ./configure --help adresinden çıktı alın

configure komutum şöyle görünüyordu:

./configure --prefix=/opt --with-apxs2=/usr/bin/apxs2 --with-curl=/usr/lib --with-pgsql --with-pear --with-mysql --with-gd
  1. 'Make' kullanarak kaynağı derleyin
  2. Derlenen paketi 'checkinstall' komutunu kullanarak yükleyin

Ve hepsi buydu. Apache2'yi Synaptic kullanarak kurdum (PHP ile kullanmak için apache2-mpm-prefork paketini kullanmanız gerekiyor). Ayrıca, önceden yüklenmiş herhangi bir PHP5 paketi varsa, kendi derlenmiş paketinizi kurmaya çalışmadan önce bunları kaldırmanız gerekir.

Paketi kendiniz derlemek çok uzun sürmez ve Ubuntu makinenizde yapmadıysanız iyi bir deneyimdir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.