在阿里云轻量应用服务器(Lightweight Application Server)上更新 PHP 版本,通常有以下几种方式,具体取决于你当前的系统环境和安装方式(如是否使用宝塔面板、LNMP 一键包,或直接通过系统包管理器安装)。
下面以常见的 Ubuntu/CentOS 系统 + 命令行方式 为例,介绍如何更新 PHP 版本。
一、确认当前 PHP 版本
php -v
查看当前安装的 PHP 版本。
二、根据系统选择更新方式
✅ 方式一:使用系统包管理器更新(推荐用于原生安装)
1. Ubuntu 系统(以 20.04/22.04 为例)
Ubuntu 默认的 apt 仓库中的 PHP 版本可能较旧,建议添加 Ondřej Surý 的 PHP PPA 仓库(官方推荐):
# 安装依赖
sudo apt update
sudo apt install -y software-properties-common
# 添加 PHP PPA 仓库
sudo add-apt-repository ppa:ondrej/php -y
# 更新包列表
sudo apt update
然后安装或升级 PHP(例如升级到 PHP 8.2):
# 安装 PHP 8.2
sudo apt install -y php8.2
# 安装常用扩展(根据需要)
sudo apt install -y php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip
⚠️ 注意:如果你使用的是 Apache 或 Nginx,还需要配置 Web 服务器使用新版本的 PHP-FPM。
卸载旧版本(可选):
sudo apt remove php8.1* # 替换为你的旧版本
设置默认 PHP CLI 版本(可选):
sudo update-alternatives --set php /usr/bin/php8.2
2. CentOS / AlmaLinux / Rocky Linux 系统
CentOS 7/8 默认 PHP 版本较旧,建议使用 Remi 仓库:
# 安装 EPEL 仓库
sudo yum install -y epel-release
# 安装 Remi 仓库(以 CentOS 7 为例)
sudo yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
# 对于 CentOS 8/Stream,使用:
# sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
启用 PHP 8.2 的模块流(以 DNF 为例):
# 启用 Remi 的 PHP 8.2 模块
sudo dnf module reset php -y
sudo dnf module enable php:remi-8.2 -y
# 安装 PHP 8.2
sudo dnf install -y php php-cli php-fpm php-mysqlnd php-gd php-curl php-mbstring php-xml php-zip
三、重启 Web 服务(Apache/Nginx)
如果你使用的是 Nginx + PHP-FPM:
sudo systemctl restart php8.2-fpm
sudo systemctl restart nginx
如果是 Apache:
sudo systemctl restart apache2 # Ubuntu
# 或
sudo systemctl restart httpd # CentOS
四、验证更新
php -v
查看是否已更新到目标版本。
你也可以创建一个 info.php 文件测试:
<?php
phpinfo();
?>
通过浏览器访问该文件,确认 Web 服务使用的 PHP 版本。
五、注意事项
- 备份网站和数据库:升级前建议快照或备份。
- 兼容性检查:确保你的应用(如 WordPress、Laravel)支持新版本 PHP。
- 扩展兼容性:某些旧扩展可能不支持新版 PHP,需重新安装或替换。
- 多版本共存:可以同时安装多个 PHP 版本,通过配置切换。
六、如果你使用了宝塔面板
如果你在轻量服务器上安装了 宝塔面板,更新 PHP 更简单:
- 登录宝塔面板。
- 进入「软件商店」 → 找到当前 PHP 版本 → 点击「升级」。
- 或直接安装新版本 PHP,然后在网站设置中切换 PHP 版本。
总结
| 方法 | 适用场景 |
|---|---|
apt + PPA(Ubuntu) |
原生安装,推荐 |
dnf + Remi 仓库(CentOS) |
原生安装,推荐 |
| 宝塔面板 | 图形化操作,适合新手 |
| LNMP 一键包 | 需手动编译升级,较复杂 |
如你能提供:
- 当前系统(Ubuntu 20.04?CentOS 7?)
- 当前 PHP 版本
- 是否使用宝塔面板或 LNMP
我可以给出更具体的命令。
云服务器