温馨提示×

如何升级Debian的PHP

小樊
45
2026-07-05 20:17:05
栏目: 编程语言

在 Debian 上升级 PHP,常见做法取决于你当前用的 PHP 是来自 Debian 官方源,还是第三方源(如 Ondřej Surý 的 PHP PPA)。下面按常见场景给你一步步说明。


一、先确认当前 PHP 情况

php -v
dpkg -l | grep php
apt-cache policy php

二、从 Debian 官方源升级(不推荐跨大版本)

1️⃣ 更新系统

sudo apt update
sudo apt upgrade -y

2️⃣ 升级 PHP(小版本)

如果 PHP 来自 Debian 官方仓库(如 Debian 11 = Bullseye 默认 PHP 7.4):

sudo apt install php php-cli php-fpm php-mysql php-xml php-mbstring php-curl

⚠️ 注意

  • Debian 官方源 不会提供跨大版本升级(如 7.4 → 8.2)
  • 想升级到大版本,必须用第三方源

三、使用 Ondřej Surý 源升级(✅ 推荐)

这是 Debian / Ubuntu 上最主流、最安全的 PHP 升级方式。

1️⃣ 安装依赖

sudo apt update
sudo apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https

2️⃣ 添加 PHP 源

curl -sSL https://packages.sury.org/php/README.txt

或直接使用:

sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | \
sudo tee /etc/apt/sources.list.d/php.list

3️⃣ 更新软件源

sudo apt update

四、安装或升级到指定 PHP 版本(如 8.2)

1️⃣ 查看可用版本

apt-cache search php8

2️⃣ 安装 PHP 8.2(示例)

sudo apt install php8.2 php8.2-cli php8.2-fpm \
php8.2-mysql php8.2-xml php8.2-mbstring php8.2-curl

五、切换 PHP 版本(多版本共存)

CLI 切换

sudo update-alternatives --config php

Web 服务切换(以 Nginx + PHP-FPM 为例)

停止旧版本

sudo systemctl stop php7.4-fpm

启动新版本

sudo systemctl enable php8.2-fpm
sudo systemctl start php8.2-fpm

修改 Nginx 配置

fastcgi_pass unix:/run/php/php8.2-fpm.sock;

然后:

sudo nginx -t
sudo systemctl reload nginx

六、检查是否升级成功

php -v
php-fpm8.2 -v

七、常见问题

❓ 升级后网站报错

  • 检查扩展是否安装完整
  • 查看 PHP 错误日志:
/var/log/php8.2-fpm.log

❓ 旧版本要不要卸载?

sudo apt remove php7.4*

八、推荐版本对照

Debian 版本 推荐 PHP
Debian 10 (Buster) PHP 7.3 / 8.1
Debian 11 (Bullseye) PHP 8.1 / 8.2
Debian 12 (Bookworm) PHP 8.2

如果你愿意,可以告诉我:

  • ✅ Debian 版本
  • ✅ 当前 PHP 版本
  • ✅ 用的是 Apache 还是 Nginx
  • ✅ 是否生产环境

我可以给你精确到命令的升级方案

0