ubuntu 22.04 升级 php 8.1 至 8.2 必须先添加 ppa:ondrej/php 源并更新,再安装 php8.2-fpm(nginx)或 libapache2-mod-php8.2(apache)等组件,最后用 update-alternatives 切换 cli 默认版本并重启服务。

要在Ubuntu上将PHP从8.1升级到8.2,必须先让系统能“看见”PHP 8.2这个包——它不在官方源里,直接运行sudo apt install php8.2会报错E: Unable to locate package php8.2,因为Ubuntu 22.04默认锁定PHP 8.1,连包名都搜不到。
确认当前PHP版本并检查系统基础
运行php -v查看当前版本,确保是8.1.x;再执行lsb_release -sc确认系统代号(如jammy),这关系到后续PPA兼容性。
更新现有软件包索引:sudo apt update && sudo apt upgrade -y。这步不能跳过,否则新PPA添加后可能因缓存冲突导致apt list php8.2*无输出。
安装software-properties-common并添加PPA源
方法一:直接安装依赖工具
执行sudo apt install software-properties-common -y。如果提示“already the newest version”,说明已存在,可跳过。
方法二:若add-apt-repository命令不存在,说明software-properties-common确实未装,此时必须先装它——否则后续所有操作都会卡在“command not found”。
添加Ondřej Surý的PHP专用源:sudo add-apt-repository ppa:ondrej/php -y。注意:这个PPA自2023年起已停止对PHP 5.6/7.0等旧版本维护,但完整支持8.1/8.2/8.3,【务必确认输入的是ppa:ondrej/php,不是ppa:ondrej/apache2或拼错】。
刷新源列表并验证PHP 8.2可用性
执行sudo apt update。这一步不可省略,否则新源中的包对APT不可见。
运行apt list php8.2*检查是否列出php8.2、php8.2-fpm、libapache2-mod-php8.2等包。如果有输出,说明源已生效;如果返回“no packages found”,请回头检查上一步是否漏掉sudo apt update。
安装PHP 8.2并切换默认版本
第一步:根据Web服务器类型选择安装方式
→ 若用Apache:sudo apt install libapache2-mod-php8.2 -y
→ 若用Nginx:sudo apt install php8.2-fpm -y
第二步:安装核心CLI与常用扩展sudo apt install php8.2-cli php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip -y
第三步:设置PHP CLI默认指向8.2版本sudo update-alternatives --set php /usr/bin/php8.2。这一步不执行,终端里php -v仍显示8.1。
第四步:重启Web服务
Apache用户执行sudo systemctl restart apache2;Nginx用户执行sudo systemctl restart nginx && sudo systemctl restart php8.2-fpm。
最后验证:php -v应输出8.2.x,且php --ini中Loaded Configuration File路径应含8.2字样。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











