Ubuntu 10.04下的php5.3降级到php5.2

xiaolengpj 2010-12-04

因为Ubuntu 10.04下Zend Optimizer 3.3.9都还没有开始支持php5.3,所以把ubuntu10.4的php5.3降级到php5.2
步骤:

1 增加karmic源

x@y:~$sudo vi /etc/apt/sources.list.d/karmic.list
 
deb http://archive.ubuntu.com/ubuntu/ karmic main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ karmic main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ karmic-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ karmic-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu karmic-security main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu karmic-security main restricted universe multiverse

Package: libapache2-mod-php5
Pin: version 5.2.10*
Pin-Priority: 991
 
Package: libapache2-mod-php5filter
Pin: version 5.2.10*
Pin-Priority: 991
 
Package: php-pear
Pin: version 5.2.10*
Pin-Priority: 991
 
Package: php5
Pin: version 5.2.10*
Pin-Priority: 991
 
Package: php5-cgi
Pin: version 5.2.10*
Pin-Priority: 991
    
Package: php5-cli
Pin: version 5.2.10*
Pin-Priority: 991
    
Package: php5-common
Pin: version 5.2.10*
Pin-Priority: 991
 
Package: php5-curl
Pin: version 5.2.10*
Pin-Priority: 991

Package: php5-dbg
Pin: version 5.2.10*
Pin-Priority: 991
 
Package: php5-dev
Pin: version 5.2.10*
Pin-Priority: 991
 
Package: php5-gd
Pin: version 5.2.10*
Pin-Priority: 991
    
Package: php5-gmp
Pin: version 5.2.10*
Pin-Priority: 991
    
Package: php5-ldap
Pin: version 5.2.10*
Pin-Priority: 991
 
Package: php5-mhash
Pin: version 5.2.10*
Pin-Priority: 991
 
Package: php5-mysql
Pin: version 5.2.10*
Pin-Priority: 991
    
Package: php5-odbc
Pin: version 5.2.10*
Pin-Priority: 991
    
Package: php5-pgsql
Pin: version 5.2.10*
Pin-Priority: 991
    
Package: php5-pspell
Pin: version 5.2.10*
Pin-Priority: 991
    
Package: php5-recode
Pin: version 5.2.10*
Pin-Priority: 991
    
Package: php5-snmp
Pin: version 5.2.10*
Pin-Priority: 991
    
Package: php5-sqlite
Pin: version 5.2.10*
Pin-Priority: 991
    
Package: php5-sybase
Pin: version 5.2.10*
Pin-Priority: 991
    
Package: php5-tidy
Pin: version 5.2.10*
Pin-Priority: 991
    
Package: php5-xmlrpc
Pin: version 5.2.10*
Pin-Priority: 991
 
Package: php5-xsl
Pin: version 5.2.10*
Pin-Priority: 991

3 建立降级脚本

x@y:~$vi down5.3-5.2.sh

#! /bin/sh -e
#  script  to install PHP 5.2 from 9.10 on 10.04
# And pin it so it does not get updated
# package available and may be installed later
PKGSAVAILABLE="`aptitude search -F '%p' php5` php-pear"
PKGSINSTALLED=`dpkg -l | grep php | awk '{print $2}'`
aptitude remove $PKGSINSTALLED
# disable duplicate entries
grep 'ubuntu.com' /etc/apt/sources.list | sed s/lucid/karmic/g > tee /etc/apt/sources.list.d/karmic.list
for PACKAGE in $PKGSAVAILABLE
do
# aptitude seems to use /etc/apt/preferences but not /etc/apt/preferences.d/*
# cf https://bugs.launchpad.net/ubuntu/+source/aptitude/+bug/508545
if egrep -q "Package: ?$$" /etc/apt/preferences
then
echo "$PACKAGE already in preference"
else
echo "\nPackage: $\nPin: release a=karmic\nPin-Priority: 991" >> /etc/apt/preferences
fi
done
aptitude update
aptitude install $PKGSINSTALLED

[email protected]:~$chmod 755 down5.3-5.2.sh

4 配置zend

root@y:~# wget http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz
root@y:~# cp ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp/ZendOptimizer.so  /usr/lib/php5/20060613+lfs/
root@y:~# vi /etc/php5/cgi/conf.d/zendoptimizer.ini
extension=ZendOptimizer.so
 
root@y:~# /etc/init.d/apache2 restart

相关推荐