温馨提示×

Debian下PHP如何升级

小樊
44
2026-07-17 09:47:09
栏目: 编程语言

Debian 系统上升级 PHP,常见分为 系统自带源升级第三方源升级(推荐)。下面给你一套常用且安全的做法。


一、确认当前 PHP 版本

php -v

同时查看已安装的 PHP 包:

dpkg -l | grep php

二、升级 PHP 的两种方式

✅ 方式一:使用第三方源(推荐,适合升级到新版本)

Debian 官方源 PHP 版本较旧,建议使用 Ondřej Surý 提供的 PHP 源(被广泛使用)。

1️⃣ 安装依赖

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

2️⃣ 添加 PHP 源

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

或直接:

sudo curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
sudo dpkg -i /tmp/debsuryorg-archive-keyring.deb

echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list

3️⃣ 更新软件源

sudo apt update

4️⃣ 安装新版 PHP(例如 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

查看可用版本:

apt-cache search php8

✅ 方式二:使用 Debian 官方源(不推荐跨大版本)

如果你只升级小版本(例如 8.2.1 → 8.2.10):

sudo apt update
sudo apt upgrade php*

⚠️ 官方源版本较旧,通常 不会提供 8.x 最新版


三、切换 PHP 版本(多版本共存时)

1️⃣ CLI 切换

sudo update-alternatives --config php

选择对应编号即可。


2️⃣ Web 服务切换(重要)

✅ Apache

sudo a2dismod php8.1
sudo a2enmod php8.2
sudo systemctl restart apache2

✅ Nginx

Nginx 通常使用 PHP-FPM:

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

检查:

sudo systemctl status php8.2-fpm

同时修改 nginx 配置:

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

四、卸载旧版本(可选)

sudo apt remove php8.1*
sudo apt autoremove

五、验证升级

php -v
php -m

访问:

<?php phpinfo(); ?>

六、常见问题

❓ Debian 11 / 12 推荐 PHP 版本?

  • Debian 11(Bullseye):PHP 7.4 默认
  • Debian 12(Bookworm):PHP 8.2 默认
  • 新项目建议 PHP 8.2 / 8.3

❓ 升级会影响网站吗?

  • 建议先在测试环境验证
  • 注意兼容 PHP 7 → 8 的语法变化

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

  • Debian 版本
  • 当前 PHP 版本
  • 使用 Apache 还是 Nginx
    我可以给你 精确到命令的升级方案

0