如何从PHP 5.4降级到5.3
最近我将PHP升级到了5.4,但是因为APC没有使用它似乎对我失败了,但是这让我别无选择,只能降级到5.3,我怎么能这样做呢?
我执行了apt-get remove php5
和apt-get purge php5
然后我从apt-get删除了5.4 repo然后执行了apt-get install php5
,它说它安装了5.3,我重新启动了php-fastcgi
和php5-fpm
但是当我运行php -v
它说5.4。
我怎样才能从5.4降级到5.3?
我的服务器正在运行Ubuntu 11.04。
将PHP 5.4降级到5.3
在Ubuntu中,降级过程真是一团糟。 这是你可以发现它有用的脚本( 它删除PHP 5.4并安装PHP 5.3 ):
sudo apt-get remove --purge `dpkg -l | grep php | grep -w 5.4 | awk '{print $2}' | xargs` sudo apt-get install php5=5.3.10-1ubuntu3.4 php5-cli=5.3.10-1ubuntu3.4 php5-common=5.3.10-1ubuntu3.4 libapache2-mod-php5=5.3.10-1ubuntu3.4 sudo apt-get install php5=5.3.10-1ubuntu3.4 php5-cli=5.3.10-1ubuntu3.4 php5-common=5.3.10-1ubuntu3.4 libapache2-mod-php5=5.3.10-1ubuntu3.4 sudo apt-get install php-pear=5.3.10-1ubuntu3.4 php5-curl=5.3.10-1ubuntu3.4 php5-gd=5.3.10-1ubuntu3.4 php5-intl=5.3.10-1ubuntu3.4 php5-mysql=5.3.10-1ubuntu3.4 php5-pspell=5.3.10-1ubuntu3.4 php5-recode=5.3.10-1ubuntu3.4 php5-snmp=5.3.10-1ubuntu3.4 php5-sqlite=5.3.10-1ubuntu3.4 php5-tidy=5.3.10-1ubuntu3.4 php5-xmlrpc=5.3.10-1ubuntu3.4 php5-xsl=5.3.10-1ubuntu3.4
您可以通过命令检查可用版本的位置: apt-cache showpkg php5
安装完成后,通过命令validation它: php --version
请注意不要在没有指定软件包版本的情况下安装任何其他软件包(如php5-xcache),否则apt-get将再次用5.4替换你的PHP实例!
为防止发生这种情况,您可以保留这些包。
使用dpkg持有包
要按dpkg保存包,可以执行以下命令:
echo "php5 hold" | sudo dpkg --set-selections
要保存所有PHP包,请运行以下命令:
dpkg --get-selections | grep ^php5 | sed s/install/hold/g | sudo dpkg --set-selections
以下命令将显示您的php包的状态:
sudo dpkg --get-selections | grep ^php
使用aptitude持有包
您还可以使用aptitude保存包裹,例如:
sudo aptitude hold php5
恢复通话:
sudo aptitude unhold php5
首先执行apt-cache showpkg php5
。 在那里你会看到有关php5包的版本和其他信息。
要安装特定版本,请运行apt-get install
在我的Ubuntu 11.10中,它将是apt-get install php5=5.3.6-13ubuntu3.6
我有类似的问题。
我删除了存储库。
你必须记住php -v
在php-cli
包中运行可执行文件,所以你也必须删除它。
所以我做了以下回到5.3.10:
sudo apt-get remove php5-cli php5 php5-common sudo apt-get install php5 php5-mysql php5-curl
现在这应该显示所需的版本:
php -v
也许本指南将帮助您: 如何降级Ubuntu中的包
因此,要下载并安装任何可用版本的任何软件包,您必须执行此操作:
sudo apt-get install Package = Version
从你描述的步骤,你忘了在清除php5.4并删除php5.4 repo后apt-get update。
假设您在apt源中没有repo,如果您运行:
apt-get remove --purge php5 && apt-get update && apt-get install php5
你应该回到5.3