我正在尝试在 Ubuntu 12.04/14.04/16.04 LTS 中更新安装 PHP 5.5、5.6 或 7.0,并且我只能使用官方存储库(使用 apt-get)获取适用于 Ubuntu 12.04 的 PHP 5.3.10、适用于 Ubuntu 14.04 的 PHP 5.5.9 或适用于 Ubuntu 16.04 的 PHP 7.0.4。
我不太清楚如何进行手动更新 – 因为我需要:
- 尝试最新的 PHP 功能
- 安装旧版 PHP 以支持软件
答案1
您可以使用 PPA 来保持 PHP 的更新状态或安装以前版本的 PHP(例如 Ubuntu 16.04 LTS 上的 PHP 5.6)。
最广泛使用的存储库来自 Debian PHP 维护者 Ondřej Surý:
- ppa:ondrej/php(对于 PHP 5.6/7.0/7.1 可同时安装版本,不再支持 PHP 5.5)
php5 兼容包:
- ppa:ondrej/php5-兼容(用于
php5
满足旧包中的依赖关系的虚拟包)
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-兼容(兼容 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
防范措施:
- PPA 可以安全地添加到我的系统中吗?需要注意哪些“危险信号”?
- 每个版本的 PHP 都有自己的一组模块和
php.ini
。
PHP 5.4
预先打包的最新 PHP 5.4 现在位于单独的 PPA 中: ppa:ondrej/php5-oldstable
请注意,PHP 5.4 的生命周期已结束2015 年 9 月 3 日并且它没有收到任何安全更新。建议至少迁移到 PHP 5.6,它将收到安全更新,直到2018 年 12 月 31 日。
答案2
PHP 5.4 软件包需要一段时间才能进入 Ubuntu,因为需要进行大量的依赖性检查。Ubuntu 12.04 现在处于测试阶段,所以我怀疑他们会将其升级到 PHP 5.4(尽管我对此没有官方或内部消息)——它可能要到今年 10 月的 Ubuntu 12.10 才会出现。如果你想要更快,你要么必须找到第三方软件包,要么学习如何从源代码自己构建它。