14.04 从 ppa:ondrej/php5-5.6 干净升级到 ppa:ondrej/php

14.04 从 ppa:ondrej/php5-5.6 干净升级到 ppa:ondrej/php

今天我进行了常规服务器包升级,发现ppa:ondrej/php5-5.6已经贬值,我们现在必须升级到ppa:ondrej/php

提供的基本说明是运行:

sudo add-apt-repository ppa:ondrej/php

进而:

sudo apt-get update
sudo apt-get upgrade --show-upgraded

查看新的存储库,名称似乎不完全一致,所以我认为我需要执行一些 apt-get 安装才能安装所有正确的软件包。此外,子软件包(即 php-gd)似乎将安装所有 php 版本,并且还可能安装 php 5.5 和 php 7.0(https://stackoverflow.com/questions/37197539/an-issue-after-ppaondrej-php5-deprecation

所以我的问题是,考虑到这是一个生产服务器,最干净的“切换”ppas和清理现有软件包的方法是什么?我是否应该尝试删除从以前的PPA安装的所有软件包和/或从我的系统中删除PPA?

它还没有出现在 PPA 的主页上,但是升级消息显示它将于 2016 年 6 月弃用,因此重建我们的服务器映像的时间并不长。

我确实找到了这个页面,它提供了有关切换 apache 使用的 PHP 版本的说明:https://dzone.com/articles/php-70-and-56-on-ubuntu

答案1

php5-*软件包可以与新phpX.Y-*方案一起安装,因此您需要做的第一件事就是安装并启用新软件包:

Apache 2.4

您需要安装新的libapache2-mod-phpX.Y软件包,然后禁用旧的 php5,并启用新版本的模块,即适用于 PHP 5.6 的 fe:

sudo apt-get install libapache2-mod-php5.6
sudo a2dismod php5
sudo a2enmod php5.6

NGINX/Apache 2.4 和 PHP-FPM

这甚至更简单,只需安装phpX.Y-fpm并更改 Web 服务器配置中的套接字路径,然后/run/php/phpX.Y-fpm.sock复制旧配置,例如 PHP 5.6:

sudo apt-get install php5.6-fpm
# now change the socket path in your nginx/apache2 configuration
# and restart the server

如果您定义了更多 FPM 池,则需要将旧配置复制到新路径,同样适用于 PHP 5.6:

# keep the new www.conf
sudo mv /etc/php/5.6/fpm/pool.d/www.conf /etc/php/5.6/fpm/pool.d/www-5.6.conf
# copy the old configuration to the new path
sudo cp /etc/php5/fpm/pool.d/* /etc/php/5.6/fpm/pool.d/
sudo update-rc.d php5-fpm disable # or uninstall php5-fpm package
# restart PHP 5.6 FPM to read the new configuration
sudo service php5.6-fpm restart

现在,如果您想删除旧的软件包,您可能会遇到一些问题,因为可能有些软件包需要旧的 php5* 名称,您可能需要添加提供映射到主 php5* 软件包ppa:ondrej/php5-compat的薄层兼容性软件包:php5-<foo>php5.6-<foo>

sudo add-apt-repository ppa:ondrej/php5-compat
sudo apt-get update
sudo apt-get dist-upgrade

一定要先尝试一下非生产环境!好的一面是,这可以保持旧配置/etc/php5不变,因此您可以迁移旧设置。

更新主要的 PHP 包后,你可能需要查找其余的php5-*包并安装它们的等效包,例如

apt-get install php-apcu # for php5-apcu
apt-get install php-memcached # for php5-memcached

我将准备对 php5-compat repo 进行更新,这将自动进行这些映射。

最新的文本,总是可以在DEB.SURY.ORG PPA 维基

相关内容