需先确认系统类型(apt/yum/dnf/编译)及当前PHP版本,注意CLI与Web SAPI版本可能不一致;Ubuntu/Debian用ondrej PPA升级,CentOS/RHEL/AlmaLinux用dnf模块切换;升级后必须验证FPM服务、Web配置和phpinfo(),并检查OPCache与扩展兼容性。
确认当前 PHP 版本和系统包管理器类型
先看清楚你用的是什么系统,因为升级方式完全不同:apt(Ubuntu/Debian)、yum 或 dnf(CentOS/RHEL/AlmaLinux),还是手动编译安装的。执行 php -v 和 which php,再运行 lsb_release -a 或 cat /etc/os-release 确认发行版和版本号。
常见误判点:Web 服务器(如 Nginx/Apache)可能加载了另一个 PHP SAPI(比如 php-fpm),而终端里 php -v 显示的是 CLI 版本——两者可能不一致。检查 phpinfo() 页面或运行 systemctl status php*-fpm 查看实际服务用的版本。
Ubuntu/Debian 上用 ondrej PPA 升级 PHP
官方仓库的 PHP 版本通常严重滞后(例如 Ubuntu 20.04 默认是 PHP 7.4)。必须添加第三方源才能装 PHP 8.1+:
- 执行
sudo apt install -y software-properties-common - 添加源:
sudo add-apt-repository ppa:ondrej/php,然后sudo apt update - 安装目标版本,例如 PHP 8.2:
sudo apt install php8.2 php8.2-cli php8.2-fpm php8.2-mysql php8.2-curl php8.2-xml php8.2-mbstring - 切换默认 CLI 版本(可选):
sudo update-alternatives --config php
注意:ondrej/php 不支持 Ubuntu 最新 LTS(24.04)刚发布时的 PHP 包,需等 PPA 更新;若急用,考虑 phpbrew 或官方二进制包。
立即学习“PHP免费学习笔记(深入)”;