จะย้อนกลับไปเป็น PHP 5.2 ได้อย่างไร?


13

ฉันเพิ่งติดตั้ง 10.04 LTS บนเซิร์ฟเวอร์การพัฒนาของฉัน แต่ระบบที่ฉันต้องใช้ในการทำงาน (Magento ecommerce) ไม่เข้ากันกับ PHP 5.3 ซึ่งมาพร้อมกับ Ubuntu รุ่นใหม่ล่าสุด มีวิธีที่ปลอดภัยและสามารถอัพเกรดได้ในการติดตั้ง PHP 5.2 หรือจะใช้ Ubuntu รุ่นเก่าได้ง่ายขึ้นหรือไม่?

คำตอบ:


9

คุณสามารถใช้ppaของฉันที่ฉันได้สร้างขึ้นเพื่อวัตถุประสงค์นี้ โปรดสังเกตการปักหมุดที่จำเป็น นอกจากนี้ความถนัดจะไม่รู้จักการปักหมุด คุณต้องใช้วิธีเฉพาะความถนัดหากคุณต้องการใช้

หมายเหตุ - นี่สำหรับ 10.04 (ชัดเจน) เท่านั้น


1
ในกรณีที่เป็นสัญญาซื้อขายไฟฟ้าของคุณหรือไม่
Nathan Osman

ขออภัย .. ฉันไม่เร็วนัก: D launchpad.net/~txwikinger/+archive/php5.2
txwikinger

คุณสามารถอธิบายสิ่งที่ฉันควรทำอย่างไรกับ ppa นี้
silvo

@silvo: คุณต้องเพิ่ม ppa ลงในรายการแหล่งที่มาของคุณไม่ว่าจะโดยใช้ตัวจัดการแพคเกจของคุณหรือใช้ add-apt-repository บน commandline รายละเอียดสำหรับ ppa อยู่บนเว็บไซต์ของ ppa
txwikinger

นี่เป็นคำตอบที่สมบูรณ์แบบขอบคุณมาก สำหรับผู้ที่ไม่แน่ใจให้เพิ่ม ppa ในแหล่งที่มาของคุณทำsudo add-apt-repository ppa:txwikinger/php5.2จากบรรทัดคำสั่ง ให้แน่ใจว่าได้ติดตามลิงก์ ppa ในโพสต์และใช้โซลูชันการตรึงของ txwikinger ให้แน่ใจว่าคุณทำงานsudo apt-get updateก่อนที่จะลองและติดตั้งแพคเกจ!
adamnfish

2

มันเป็นไปได้ที่จะใช้แพคเกจกรรมและตรึงพวกเขาด้วยความสามารถ สิ่งนี้สามารถทำได้โดยใช้คำสั่งนี้:

# 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

รับสิ่งนี้จากข้อความลิงก์



2

ฉันเพิ่งพยายามแก้ไขปัญหาเดียวกันด้วยตัวเอง แทนที่จะทำการเปลี่ยนแปลงการจัดการแพ็คเกจฉันรวบรวม PHP 5.2.17 จากซอร์สโค้ดเองแล้วใช้โปรแกรมCheckinstallเพื่อติดตั้งแพ็คเกจ. deb แบบใหม่บนระบบของฉัน

ฉันเขียนขั้นตอนในการโพสต์บล็อกรวบรวม PHP 5.2 สำหรับ Ubuntu 10.10แต่ขั้นตอนโดยทั่วไปเกี่ยวข้องต่อไปนี้:

  1. ดาวน์โหลดซอร์ส PHP (http://php.net/downloads.php) ไปที่ / usr / local / src
  2. กำหนดค่าซอร์สอ่านเอกสารINSTALLและเอาต์พุตจาก./configure --help

คำสั่งกำหนดค่าของฉันดูเหมือนว่านี้:

./configure --prefix=/opt --with-apxs2=/usr/bin/apxs2 --with-curl=/usr/lib --with-pgsql --with-pear --with-mysql --with-gd
  1. รวบรวมแหล่งที่มาโดยใช้ 'ทำ'
  2. ติดตั้งแพคเกจที่คอมไพล์ด้วย 'checkinstall'

และนั่นก็คือ ฉันติดตั้ง Apache2 แล้วโดยใช้ Synaptic (คุณต้องใช้แพ็คเกจ apache2-mpm-prefork สำหรับใช้กับ PHP) นอกจากนี้หากคุณมี pacakges PHP5 ใด ๆ ที่ติดตั้งแล้วคุณจะต้องถอนการติดตั้งก่อนที่จะพยายามติดตั้งแพคเกจที่รวบรวมของคุณเอง

การรวบรวมแพ็คเกจด้วยตัวคุณเองนั้นใช้เวลาไม่นานเลยจริง ๆ และเป็นประสบการณ์ที่ดีหากคุณยังไม่ได้ทำบนเครื่อง Ubuntu ของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.