在从 Ubuntu 13.04 到 13.10 更新期间,PHP 升级到了 5.5.3。
我如何降级到 5.4.x?
答案1
- 作为医疗极客建议:你可以尝试使用ondrej php5-oldstable包,但我认为目前它们不适用于 Saucy Salamander。
- 你可以自行编译PHP。
- 简单的解决方案是暂时切换到旧的(raring)存储库,安装 PHP(5.4)、Apache(2.2)等,并锁定包版本(这样就不会再升级):
请将此视为一项有风险的操作,因为您可能会丢失设置并破坏系统。我没有测试所有线路,因此如果我需要调整某些内容,请告诉我
# upgrade system, so you can add to ignore all updates later
sudo apt-get update
sudo apt-get upgrade
# remove your php, apache, etc
sudo apt-get purge apache2 php5 libapache2-mod-php5 # add here your server packages
# change repositories to raring (with backup)
sudo sed -i.bak "s/saucy/raring/g" /etc/apt/sources.list
# update and install server packages
sudo apt-get update
sudo apt-get install apache2 php5 libapache2-mod-php5 phpmyadmin #add here packages you need and make sure you install php5.4 and apache2.2
# change repositories back to saucy
sudo sed -i "s/raring/saucy/g" /etc/apt/sources.list
# ignore all current upgrades (package hold)
sudo apt-mark hold `aptitude -F%p --disable-columns search ~U`
答案2
我能够通过使用 PHPBrew 在 13.10 上运行它 -https://github.com/c9s/phpbrew
一旦启动并运行 PHPBrew,我必须使用以下命令安装 APXS:
sudo apt-get install apache2-threaded-dev
然后我就可以执行以下 PHPBrew 命令:
sudo phpbrew install php-5.4.20 +mysql+apxs2-/user/bin/apxs
apxs2 参数允许 PHPBrew 为 Apache 创建一个新的 php5.load 文件(您当前的文件已备份),该文件引用新的 php5_module 文件 /usr/lib/apache2/modules/libphp5.4.20.so
对我来说,启动并运行 MySQL 的最后一步是编辑新的 php.ini 文件 - 位于 PHPBrew 安装新 php-5.4.20 源的位置,并明确调用 mysqld.sock 文件。出于某种原因,这对我来说不是开箱即用的。
希望这些步骤能够帮助那些想要在 Ubuntu 13.10 上从 PHP 5.5 降级的人
答案3
当前稳定版本是 php 5.5。您正在寻找 php 5.4“旧稳定版本”。
尝试查看此网站并使用以下 ppa:
关于如何降级并保留软件包,您在 askubuntu 上有一个完整的答案:
https://askubuntu.com/a/220086/5538-- 它适用于 php 5.4 到 5.3,但过程相同。