降级 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
安装完成后,可以通过以下命令验证:php --version
请注意,不要安装任何未指定包版本的其他软件包(如php5-xcache),否则apt-get会再次替换您的PHP实例为5.4版本!
为了防止这种情况发生,您可以锁定这些软件包。
使用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
sudo apt-get install php5
进行重新安装或卸载/安装。 - kenorb