如何在仍受支持的Ubuntu版本中安装其他(升级或降级)PHP版本?


226

我正在尝试更新以在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)。

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

  • 体验新的(最新)PHP功能
  • 安装软件中需要支持的旧PHP版本

1
如果sudo apt-get upgrade不升级PHP,请尝试sudo apt-get dist-upgrade。用于发行版升级。
Moiz Kiyani 2013年

Answers:


292

您可以使用PPA来保持PHP的最新状态或安装PHP的早期版本(在Ubuntu 16.04 LTS上为PHP 5.6)。

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

  • ppa:ondrej / php启动板徽标(对于PHP 5.6 / 7.0 / 7.1可同时安装的版本,不再支持PHP 5.5)

php5 compat软件包:

单击此处了解有关使用PPA的说明。

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

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

ppa:ondrej / php启动板徽标(适用于PHP 5.6 / 7.0 / 7.1)

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兼容)

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启动板徽标

请注意,PHP 5.4已在20159月3日到期,并且没有收到任何安全更新。建议至少迁移到PHP 5.6,该版本的安全性更新到2018年12月31日


5
原来你得先跑sudo apt-get update
kavisiegel 2012年

3
有php5-cli包!
matteosister 2012年

11
添加ppa之后,您可以执行以下操作:sudo apt-get dist-upgrade
matteosister 2012年

2
安装ppa,升级php并运行后php -v,版本信息以以下错误消息开头:无法加载/usr/lib/php5/20090626/xdebug.so:/usr/lib/php5/20090626/xdebug.so:无法打开共享目标文件:无此类文件或目录
systemovich 2012年

3
apt-get install software-properties-common如果apt-get install python-software-properties不提供add-apt-repository命令,请使用。
Meetai.com 2016-4-11的

3

由于要进行大量依赖检查,PHP 5.4软件包要花一些时间才能进入Ubuntu。Ubuntu 12.04现在处于beta版,因此我怀疑他们是否会将其升级到PHP 5.4(尽管我对此没有任何官方或内部了解)-它可能要到今年10月的Ubuntu 12.10才会出现。如果您希望早于此时间,则要么必须找到第三方程序包,要么学习从源代码自己构建它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.