it-swarm-vi.com

Làm cách nào để quay trở lại PHP 5.2?

Tôi vừa cài đặt 10.04 LTS trên máy chủ phát triển của mình nhưng hệ thống mà tôi cần chạy trên nó (thương mại điện tử Magento) không tương thích với PHP 5.3 có phiên bản Ubuntu mới nhất. Có cách nào an toàn và không cần nâng cấp để cài đặt PHP 5.2 hay sẽ dễ sử dụng phiên bản Ubuntu cũ hơn?

13
silvo

Bạn có thể sử dụng ppa , mà tôi đã tạo cho mục đích này. Xin lưu ý về việc ghim là cần thiết. Ngoài ra, năng khiếu sẽ không nhận ra ghim. Bạn phải sử dụng phương pháp cụ thể về năng khiếu nếu bạn muốn sử dụng nó.

Lưu ý - đây chỉ dành cho 10.04 (sáng suốt)

9
txwikinger

Có một bài đăng blog tuyệt vời về điều này tại http://civicilities.com/blog/2010/may/26/ubfox_1004_and_drupal?page=1#comment-3717

2
Chaulky

Gần đây tôi đã cố gắng tự giải quyết vấn đề tương tự. Thay vì thực hiện thay đổi đối với quản lý gói, tôi đã biên dịch PHP 5.2.17 từ mã nguồn và sau đó sử dụng chương trình Checkinstall để cài đặt gói .deb mới trên hệ thống của tôi.

Tôi đã viết các bước trong một bài đăng trên blog, Biên dịch PHP 5.2 cho Ubuntu 10.1 , nhưng về cơ bản các bước liên quan đến các bước sau:

  1. Tải xuống PHP source (http://php.net/doads.php) về/usr/local/src
  2. Định cấu hình nguồn, đọc INSTALL doc và xuất ra từ ./ configure --help

lệnh configure của tôi trông như thế này:

./configure --prefix=/opt --with-apxs2=/usr/bin/apxs2 --with-curl=/usr/lib --with-pgsql --with-pear --with-mysql --with-Gd
  1. Biên dịch nguồn bằng cách sử dụng 'make'
  2. Cài đặt gói đã biên dịch bằng 'checkinstall'

Và đó là nó. Tôi đã cài đặt Apache2 bằng Synaptic (bạn cần sử dụng gói Apache2-mpm-prefork để sử dụng với PHP). Ngoài ra nếu bạn đã cài đặt bất kỳ nhịp điệu PHP5 nào, bạn sẽ cần gỡ cài đặt chúng trước khi thử cài đặt gói biên dịch của riêng bạn.

Tự mình biên dịch gói thực sự không mất nhiều thời gian và là một trải nghiệm tốt nếu bạn chưa thực hiện nó trên máy Ubuntu.

2
user10207

Có thể sử dụng các gói nghiệp và ghim chúng với năng khiếu. Điều này có thể được thực hiện bằng cách sử dụng các lệnh này:

# 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

Có cái này từ liên kết văn bản

2
kone4040