如何从PHP 5.4降级到5.3

最近我将PHP升级到了5.4,但是因为APC没有使用它似乎对我失败了,但是这让我别无选择,只能降级到5.3,我怎么能这样做呢?

我执行了apt-get remove php5apt-get purge php5然后我从apt-get删除了5.4 repo然后执行了apt-get install php5 ,它说它安装了5.3,我重新启动了php-fastcgiphp5-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 -vphp-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