问题描述
我正在尝试更新以在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)
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)
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
注意事项:
-
Are PPA’s safe to add to my system and what are some “red flags” to watch out for?
-
每个PHP版本都有自己的一套模块和
php.ini
。
PHP 5.4
预打包的最新PHP 5.4现在位于单独的PPA中:ppa:ondrej /php5-oldstable
请注意,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软件包或学习从源代码自己构建它。