• [Ubuntu] 如何在Ubuntu11.04将PHP5.3降级到PHP5.2


    众所周知,Ubuntu11.04使用sudo apt-get 安装好的php版本是5.3.5,很多网站都是不兼容的,所以要找个办法降级。

    还好借助google,把问题都搞掂了~

    创建一个php_version.sh,然后输入下面内容。

    #!/bin/bash
    #
     by Ruben Barkow (rubo77) http://www.entikey.z11.de/

    # Originally Posted by Bachstelze http://ubuntuforums.org/showthread.php?p=9080474#post9080474
    #
     OK, here's how to do the Apt magic to get PHP packages from the karmic repositories:

    echo 
    "Am I root? "
    if [ "$(whoami &2>/dev/null)" != "root" ] && [ "$(id -un &2>/dev/null)" != "root" ] ; then
    echo 
    " NO!

    Error: You must be root to run this script.
    Enter
    sudo su
    "
    exit 
    1
    fi
    echo 
    " OK";


    #install aptitude before, if you don`t have it:
    apt-get install aptitude
    # or if you prefer apt-get use:
    #
     alias aptitude='apt-get'

    # finish all apt-problems:
    aptitude update
    aptitude 
    -f install
    #apt-get -f install

    # remove all your existing PHP packages. You can list them with dpkg -l| grep php
    PHPLIST=$(for i in $(dpkg -| grep php|awk '{ print $2 }' ); do echo $i; done)
    echo these pachets will be removed: 
    $PHPLIST 
    # you need not to purge, if you have upgraded from karmic:
    aptitude remove $PHPLIST
    # on a fresh install, you need purge:
    #
     aptitude remove --purge $PHPLIST


    #Create a file each in /etc/apt/preferences.d like this (call it for example /etc/apt/preferences.d/php5_2);
    #
    #
    Package: php5
    #
    Pin: release a=karmic
    #
    Pin-Priority: 991
    #
    #
    The big problem is that wildcards don't work, so you will need one such stanza for each PHP package you want to pull from karmic:

    echo ''
    >/etc/apt/preferences.d/php5_2
    for i in $PHPLIST ; do echo "Package: $i
    Pin: release a=karmic
    Pin-Priority: 991
    ">>/etc/apt/preferences.d/php5_2; done

    # duplicate your existing sources.list replacing lucid with karmic and save it in sources.list.d:
    #
    sed s/lucid/karmic/g /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/karmic.list

    # better exactly only the needed sources, cause otherwise you can get a cachsize problem:
    echo "# needed sources vor php5.2:
    deb http://de.archive.ubuntu.com/ubuntu/ karmic main restricted
    deb-src http://de.archive.ubuntu.com/ubuntu/ karmic main restricted

    deb http://de.archive.ubuntu.com/ubuntu/ karmic-updates main restricted
    deb-src http://de.archive.ubuntu.com/ubuntu/ karmic-updates main restricted

    deb http://de.archive.ubuntu.com/ubuntu/ karmic universe
    deb-src http://de.archive.ubuntu.com/ubuntu/ karmic universe
    deb http://de.archive.ubuntu.com/ubuntu/ karmic-updates universe
    deb-src http://de.archive.ubuntu.com/ubuntu/ karmic-updates universe

    deb http://de.archive.ubuntu.com/ubuntu/ karmic multiverse
    deb-src http://de.archive.ubuntu.com/ubuntu/ karmic multiverse
    deb http://de.archive.ubuntu.com/ubuntu/ karmic-updates multiverse
    deb-src http://de.archive.ubuntu.com/ubuntu/ karmic-updates multiverse

    deb http://security.ubuntu.com/ubuntu karmic-security main restricted
    deb-src http://security.ubuntu.com/ubuntu karmic-security main restricted
    deb http://security.ubuntu.com/ubuntu karmic-security universe
    deb-src http://security.ubuntu.com/ubuntu karmic-security universe
    deb http://security.ubuntu.com/ubuntu karmic-security multiverse
    deb-src http://security.ubuntu.com/ubuntu karmic-security multiverse
    " >> /etc/apt/sources.list.d/karmic.list

    aptitude update

    apache2ctl restart

    echo install new from karmic:
    aptitude 
    -t karmic install $PHPLIST

    # at the end retry the modul libapache2-mod-php5 in case it didn't work the first time:
    aptitude -t karmic install libapache2-mod-php5

    apache2ctl restart

    授权可运行:

    chmod +x php_version.sh

    运行:

    sudo ./php_version.sh

    过一段时间等它运行完了,运行一下

    <?php phpinfo();?>

    搞掂!

    Have fun with Ubuntu! 

  • 相关阅读:
    九月腾讯,创新工场,淘宝等公司最新面试三十题
    java静态变量和实例变量的区别
    海量数据处理:十道面试题与十个海量数据处理方法总结
    持有对象(看think in java)
    在myeclipse9.0中安装插件SVN(掌握通用安装插件的方法)
    java的垃圾回收机制(think in java学习总结):
    CSS控制文本自动换行
    jquery获得select option的值 和对select option的操作
    JS操作table!js table行数
    jquery ui datepicker 只能选今天以后的日期
  • 原文地址:https://www.cnblogs.com/davidhhuan/p/2182769.html
Copyright © 2020-2023  润新知