在 Debian 上安装旧版 PHP(如 PHP 7.4 / 7.3 / 5.6 等),常见有三种方式,按推荐程度从前往后说。
这是 Debian/Ubuntu 上最常用、最干净的方案。
sudo apt update
sudo apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https
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
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
sudo apt install -y php7.4 php7.4-cli php7.4-fpm php7.4-mysql php7.4-curl php7.4-gd
✅ 优点
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
sudo apt install php7.4-fpm
修改 nginx 配置:
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
如果你只是临时运行旧 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 -v
sudo apt install php7.4 php8.1
如果你愿意,可以告诉我:
我可以给你精确到命令级别的方案。