• ubuntu 10.04 php5.3 to php5.2


    要把ubuntu 系统里的php 从 5.3 或更高版本降到低版本 5.2 。搜了很多资料,千篇一律都有问题,估计都没试过,ubuntu 的karmic 源地址基本上都失效了。这里提供一个修改后的脚本。

    #!/bin/bash

    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 -l | 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://old-releases.ubuntu.com/ubuntu/ karmic main restricted
    deb-src http://old-releases.ubuntu.com/ubuntu/ karmic main restricted

    deb http://old-releases.ubuntu.com/ubuntu/ karmic-updates main restricted
    deb-src http://old-releases.ubuntu.com/ubuntu/ karmic-updates main restricted

    deb http://old-releases.ubuntu.com/ubuntu/ karmic universe
    deb-src http://old-releases.ubuntu.com/ubuntu/ karmic universe
    deb http://old-releases.ubuntu.com/ubuntu/ karmic-updates universe
    deb-src http://old-releases.ubuntu.com/ubuntu/ karmic-updates universe

    deb http://old-releases.ubuntu.com/ubuntu/ karmic multiverse
    deb-src http://old-releases.ubuntu.com/ubuntu/ karmic multiverse
    deb http://old-releases.ubuntu.com/ubuntu/ karmic-updates multiverse
    deb-src http://old-releases.ubuntu.com/ubuntu/ karmic-updates multiverse

    deb http://old-releases.ubuntu.com/ubuntu karmic-security main restricted
    deb-src http://old-releases.ubuntu.com/ubuntu karmic-security main restricted
    deb http://old-releases.ubuntu.com/ubuntu karmic-security universe
    deb-src http://old-releases.ubuntu.com/ubuntu karmic-security universe
    deb http://old-releases.ubuntu.com/ubuntu karmic-security multiverse
    deb-src http://old-releases.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,本人使用nginx和fastcgi模式

    apt-get install php5-cli php5-cgi  php5-mysql

    pkill -9 php-cgi
    spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u jimmy -f /usr/bin/php-cgi

    service nginx restart


    执行下面代码,告诉update-manager 不要再提醒更新php到高版本。

    #!/bin/bash
    for i in $(dpkg -l | grep php|awk '{ print $2 }' );
    do echo "echo $i hold |sudo dpkg --set-selections"; echo $i hold |sudo dpkg --set-selections; done
    如果希望更新到php高版本,则

    #!/bin/bash
    for i in $(dpkg -l | grep php|awk '{ print $2 }' );
    do echo "echo $i install |sudo dpkg --set-selections"; echo $i install |sudo dpkg --set-selections; done

  • 相关阅读:
    vs 2015 安装
    NPOI封装
    c#事件求解
    一个ERP系统的磕磕碰碰
    谁动了我的产品
    MVC Sesion丢失问题
    设计模式之类关系
    免费的SqlServer优化辅助工具:SqlOptimize (原创)
    Entity Framework Linq 简单笔记
    RhinoMocks简单范例
  • 原文地址:https://www.cnblogs.com/weaver1/p/2979431.html
Copyright © 2020-2023  润新知