温馨提示×

如何升级Debian的LAMP版本

小樊
44
2026-08-14 20:26:01
栏目: 智能运维

升级 Debian 上的 LAMP(Linux + Apache + MySQL/MariaDB + PHP) 版本,通常分为 系统升级各组件升级 两部分。下面按 最稳妥、可回滚 的方式说明。


一、先明确当前状态(非常重要)

cat /etc/debian_version
apache2 -v
php -v
mysql --version   # 或 mariadb --version

确认:

  • Debian 版本(如 10 Buster / 11 Bullseye / 12 Bookworm)
  • Apache / PHP / MySQL 版本

二、升级 Debian 系统(推荐方式)

1️⃣ 更新当前系统

sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y

2️⃣ 修改源为新的 Debian 版本(如 11 → 12)

编辑:

sudo nano /etc/apt/sources.list

示例(Debian 12 Bookworm):

deb http://deb.debian.org/debian bookworm main
deb http://deb.debian.org/debian bookworm-updates main
deb http://security.debian.org/debian-security bookworm-security main

3️⃣ 升级系统

sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y

完成后重启:

sudo reboot

三、升级 Apache(通常随系统升级)

Debian 升级后 Apache 会自动升级:

apache2 -v

常见版本:

  • Debian 11 → Apache 2.4.52
  • Debian 12 → Apache 2.4.57

如需手动重装:

sudo apt install --reinstall apache2

四、升级 PHP(重点)

⚠️ PHP 不会自动跨大版本升级

1️⃣ 查看当前 PHP

php -v

2️⃣ 添加 Sury PHP 源(推荐)

sudo apt install -y lsb-release apt-transport-https ca-certificates curl
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
sudo apt update

3️⃣ 安装新 PHP 版本(如 PHP 8.2)

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

4️⃣ 切换 Apache 使用的 PHP

sudo a2dismod php7.4   # 旧版本
sudo a2enmod php8.2
sudo systemctl restart apache2

5️⃣ 确认

php -v

五、升级 MySQL / MariaDB

1️⃣ 查看数据库

mysql --version

2️⃣ 升级方式

✅ MariaDB(推荐)

sudo apt install mariadb-server
sudo mysql_upgrade -u root -p

✅ MySQL

sudo apt install mysql-server
sudo mysql_upgrade -u root -p

⚠️ 升级前务必备份:

mysqldump -u root -p --all-databases > all.sql

六、检查 Apache + PHP 是否正常工作

sudo systemctl status apache2
sudo systemctl status mariadb

创建测试文件:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

浏览器访问:

http://服务器IP/info.php

七、常见坑位提醒

问题 解决
Apache 无法启动 检查 a2enmod php
PHP 不生效 Apache 未加载正确 PHP 模块
数据库无法启动 /var/lib/mysql 权限问题
升级后网站报错 PHP 版本不兼容

八、推荐升级路线(安全)

✅ Debian 10 → 11 → 12
✅ PHP 7.x → 8.1 / 8.2
✅ MariaDB 10.3 → 10.5 / 10.11


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

  • 当前 Debian / PHP / MySQL 版本
  • 生产环境还是测试环境
  • 是否使用 宝塔 / Docker / 面板

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

0