当前位置: 首页>>技术问答>>正文


如何在仍支持的Ubuntu发行版中安装不同的(升级或降级)PHP版本?

, ,

问题描述

我正在尝试更新以在Ubuntu 12.04 /14.04 /16.04 LTS中安装PHP 5.5,5.6或7.0,并且我只能获得适用于Ubuntu 12.04的PHP 5.3.10,适用于Ubuntu 14.04的PHP 5.5.9或适用于Ubuntu 16.04的PHP 7.0.4使用官方存储库(使用apt-get)。

我不确定如何进行手动更新 – 因为我需要:

  • 玩弄新的(est)PHP功能

  • 在软件中安装较早的PHP版本到期支持

最佳解决思路

您可以使用PPA使用PHP保留up-to-date或安装以前版本的PHP(在Ubuntu 16.04 LTS上使用f 5.6 PHP 5.6)。

使用最广泛的软件库来自Debian PHP维护者OndřejSurý:

  • ppa:ondrej /php(对于PHP 5.6 /7.0 /7.1 co-installable版本,不再支持PHP 5.5)

php5 compat包:

  • ppa:ondrej /php5-compat(对于虚拟php5来满足旧包中的依赖关系)

(Click here for instructions on using PPAs.)

PHP PPA以前包含Apache 2.4更新。这不再是一种情况,您需要添加单独的Apache 2.4存储库:

  • ppa:ondrej /apache2(用于Apache 2.4)

如果您想使用这些PPA,请执行以下操作:

ppa:ondrej /php(用于PHP 5.6 /7.0 /7.1)

ppa,php,ubuntu

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php7.1   # for PHP 7.1
sudo apt-get install php7.0   # for PHP 7.0
sudo apt-get install php5.6   # for PHP 5.6

在安装的版本之间切换使用

sudo update-alternatives --config php

然后你必须设置Apache以使用正确的版本:

sudo a2dismod php7.1         # unload the current version
sudo a2enmod  php5.6         # load the version you need
sudo service apache2 restart # restart webserver to apply

ppa:ondrej /php5-compat(用于php5 compat)

ppa,php,ubuntu

sudo add-apt-repository ppa:ondrej/php
sudo add-apt-repository ppa:ondrej/php5-compat
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php5 # this will pull php5.6 package 

如果您没有add-apt-repository二进制文件,请执行以下操作:

sudo apt-get install python-software-properties

注意事项:

PHP 5.4

预打包的最新PHP 5.4现在位于单独的PPA中:ppa:ondrej /php5-oldstable

ppa,php,ubuntu

请注意,PHP 5.4在3. September 2015上已达到其使用寿命,并且不会收到任何安全更新。建议迁移到至少PHP 5.6,它将接收安全更新,直到31. December 2018

次佳解决思路

对于PHP 5.4来说,它需要一些时间才能进入Ubuntu,因为有很多依赖检查可以做。 Ubuntu 12.04现在处于测试阶段,所以我怀疑他们会将其升级到PHP 5.4(尽管我没有官方或内部知识),但直到今年10月Ubuntu 12.10才会出现。如果您希望比此更早,您必须找到third-party软件包或学习从源代码自己构建它。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/158.html,未经允许,请勿转载。