必须彻底卸载旧版php并清理残留,再通过ondřej surý ppa安装php 8.1.27:先停php7.4-fpm等服务、禁用自启、杀进程、purge php7.4*组件及配置目录;再装依赖、加ppa:ondrej/php源、更新后安装php8.1及常用扩展,并启用php8.1-fpm、验证php -v输出为8.1.27。

卸载旧版 PHP 并干净安装 PHP 8.1,关键在于彻底清除残留配置和服务,避免新版本加载失败或扩展冲突。Ubuntu 20.04 默认带 PHP 7.4,直接 apt install php8.1 不会自动卸载旧版,必须手动清理。
确认当前 PHP 安装来源和版本
先查清楚 PHP 是怎么装的,再决定怎么卸——不同来源卸载方式完全不同:
- 运行 php -v 看版本(比如显示 7.4.33)
- 运行 dpkg -l | grep '^ii.*php' 查是否通过 apt 安装(输出含 php7.4-* 表示是)
- 运行 which php 和 php --ini 看二进制路径与配置位置,判断是否源码编译(如 /usr/local/bin/php 或 /opt/php/)
彻底卸载 apt 安装的旧版 PHP(最常见情况)
如果你用 apt 或 add-apt-repository 装过 PHP 7.4,按顺序执行以下命令:
- 停服务:sudo systemctl stop php7.4-fpm nginx apache2(只停你实际在用的 Web 服务器)
- 禁用开机自启:sudo systemctl disable php7.4-fpm
- 杀残留进程:sudo pkill -f "php.*fpm"(比 pgrep + kill -9 更稳妥)
- 卸载全部组件:sudo apt purge php7.4\* libapache2-mod-php7.4 && sudo apt autoremove -y
- 删配置和日志:sudo rm -rf /etc/php/7.4 /var/log/php7.4* /usr/lib/php/7.4
添加官方源并安装 PHP 8.1.27
Ondřej Surý 的 PPA 是 Ubuntu 下最可靠的选择,目前(2026年10月)该源中 php8.1 包已指向 8.1.27:
- 装依赖:sudo apt install -y software-properties-common ca-certificates apt-transport-https
- 加源:sudo add-apt-repository ppa:ondrej/php && sudo apt update
- 验证源生效:apt policy php8.1 应显示来自 ppa.launchpad.net/ondrej/php(有效期至 2026-10-12)
- 安装核心包:sudo apt install -y php8.1 php8.1-fpm php8.1-cli php8.1-mysql php8.1-mbstring php8.1-xml php8.1-zip php8.1-opcache
启用并验证 PHP 8.1
安装完不是终点,还要确保它真正可用:
- 启动 FPM:sudo systemctl start php8.1-fpm && sudo systemctl enable php8.1-fpm
- 检查状态:systemctl is-active php8.1-fpm 应返回 active
- 验证 CLI:php -v 输出应为 PHP 8.1.27
- 若用 Nginx,确认 fastcgi_pass 指向 127.0.0.1:9000 或 unix:/run/php/php8.1-fpm.sock
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











