我在 Ubuntu 18.04.1 LTS 上运行一个生产服务器,其中安装了 PHP 5.6.38。它正在为 PHP 5x 应用程序提供服务,但由于composer
其他要求,我需要在最新版本的 PHP 上安全地升级它(从 12 月 6 日起升级为 PHP 7.3)或至少7.2。
我没有选择创建一个带有最新 PHP 版本的全新服务器并将所有内容迁移到那里。我只需要一个安全且干净的 PHP 升级。
我读过了本文它使用允许多个 PHP 版本的 APT 存储库ppa:ondrej/php
。我不想保留 PHP 5.6.38 或拥有多 PHP 环境。
我担心使用ppa:ondrej/php
repo 会如何影响我现有的 Apache 2 配置(该配置设置为与 PHP 5.6.38 一起使用),以及如果我最终使用 Ondrej 的 repo 进行升级,我必须在 Apache 2 配置中进行哪些更改才能使一切再次正常工作。
另外,我是否必须重新配置 Apache 2 才能与 PHP FPM 一起使用?
正如我之前所说,这是一个生产服务器,不幸的是我没有暂存/测试/迁移服务器作为故障安全解决方案。
答案1
首先,因为它是一台生产服务器:做一些备份!!!
添加 Ondrej 的 repo:
使用起来非常安全ppa:ondrej/php
:
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt upgrade
安装 PHP 7.3 并配置 Apache2
您没有提到您当前的设置是否使用 PHP FPM。如果您对多 PHP 环境不感兴趣,则不需要使用 FPM,因此我假设您不感兴趣。将 Apache2 使用的 PHP 版本从 5.6 迁移到 7.3 的安全方法是:
sudo apt install php7.3
sudo a2enmod php7.3
sudo a2dismod php5.6
sudo service apache2 restart
更新 PHP CLI:
您还提到了composer
。它使用 PHP CLI,因此您必须安装php7.3-cli
包:
sudo apt install php7.3-cli
sudo update-alternatives --set php /usr/bin/php7.3
清理(可选):
准备就绪后,请确保一切正常。这不是必需的,但如果您愿意,可以删除旧的 PHP 版本:
sudo apt purge php5.6*
sudo apt autoremove