温馨提示×

Debian如何安装旧版PHP

小樊
45
2026-08-16 05:37:37
栏目: 编程语言

Debian 上安装旧版 PHP(如 PHP 7.4 / 7.3 / 5.6 等),常见有三种方式,按推荐程度从前往后说。


✅ 方式一(最推荐):使用 DEB.SURY.ORG 第三方源(支持旧版 PHP)

这是 Debian/Ubuntu 上最常用、最干净的方案。

1️⃣ 安装依赖

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

2️⃣ 添加 Sury PHP 源

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

apt-cache search php | grep "^php[0-9]"

例如:

php5.6
php7.0
php7.1
php7.2
php7.3
php7.4
php8.0
php8.1
php8.2

5️⃣ 安装指定版本(例如 PHP 7.4)

sudo apt install -y php7.4 php7.4-cli php7.4-fpm php7.4-mysql php7.4-curl php7.4-gd

优点

  • 支持多版本共存
  • 安全更新维护中
  • 与 Debian 官方包兼容

✅ 方式二:多版本共存(Apache / Nginx)

Apache

sudo apt install php7.4 libapache2-mod-php7.4
sudo a2enmod php7.4
sudo systemctl restart apache2

切换版本:

sudo a2dismod php8.2
sudo a2enmod php7.4
sudo systemctl restart apache2

Nginx

sudo apt install php7.4-fpm

修改 nginx 配置:

fastcgi_pass unix:/run/php/php7.4-fpm.sock;

✅ 方式三:使用 Docker(适合测试或强制旧版)

如果你只是临时运行旧 PHP:

docker run -it --rm php:7.4-cli php -v

或运行项目:

docker run -d -p 80:80 php:7.4-apache

❌ 不推荐方式

方法 原因
Debian 官方旧版 已移除,不再提供
编译安装 维护困难、依赖复杂
直接使用 EOL PHP 安全风险高

⚠️ 强烈建议

PHP 版本 状态
PHP 5.6 / 7.0 / 7.1 ❌ 已停止安全更新
PHP 7.4 ⚠️ 官方已 EOL(Sury 仍有补丁)
PHP 8.1+ ✅ 推荐

✅ 快速示例

查看当前 PHP 版本

php -v

同时安装多个版本

sudo apt install php7.4 php8.1

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

  • ✅ Debian 版本(10 / 11 / 12)
  • ✅ 使用 Apache / Nginx / CLI
  • ✅ 具体 PHP 版本(如 7.2)

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

0