如何在Ubuntu 24.10上安装PHP 8.2/8.1/8.0/7.4等旧版本
如何在Ubuntu 24.10上安装PHP 8.2/8.1/8.0/7.4等旧版本
我来给你捋捋这个问题哈~你遇到的报错其实是因为Ondrej的PHP PPA目前还没适配Ubuntu 24.10(Oracular)的Release文件,所以直接通过apt装旧版本PHP肯定找不到包。下面给你几个亲测可行的解决办法,按需选就行:
方法一:用Docker容器跑旧版本PHP(最推荐,无环境冲突)
这个绝对是工作中多版本PHP切换的最优解,不用折腾主机的系统环境,隔离性拉满:
- 先确保Docker装好了,没装的话执行这行:
sudo apt update && sudo apt install docker.io docker-compose -y - 比如要临时跑PHP7.4的CLI,直接敲:
docker run --rm php:7.4-cli php -v - 如果要在本地项目里用,写个简单的
docker-compose.yml,把你的项目目录挂载到容器里,就能在容器里执行代码、装依赖,完全不影响主机的PHP版本。
方法二:手动编译旧版本PHP(适合需要主机环境直接调用的场景)
如果你必须在主机上安装旧版本PHP,可以自己编译源码,步骤也不难:
- 先装编译依赖包:
sudo apt update && sudo apt install build-essential libssl-dev libcurl4-openssl-dev libxml2-dev libzip-dev libonig-dev -y - 去PHP官方的源码归档页面找到对应版本的压缩包(比如PHP7.4的最新稳定版),用
wget下载到本地; - 解压并进入源码目录:
tar -xzf php-7.4.xxx.tar.gz && cd php-7.4.xxx - 配置编译参数(可以根据需求加扩展,比如启用OPcache、curl等):
./configure --prefix=/usr/local/php7.4 --enable-cli --enable-opcache --with-curl --with-openssl --with-zip - 编译安装(
-j$(nproc)是利用所有CPU核加速编译):make -j$(nproc) && sudo make install - 之后你可以用绝对路径调用这个版本的PHP:
/usr/local/php7.4/bin/php -v,也可以把它加入系统环境变量方便全局调用。
方法三:等Ondrej PPA适配Ubuntu 24.10(最佛系)
其实Ondrej的PPA一般会在新Ubuntu版本发布后几周内完成适配,如果你不急着用,可以等上一段时间,然后再重新执行:
sudo add-apt-repository ppa:ondrej/php sudo apt update
如果更新成功没有报错,就可以直接用apt install php7.4 php7.4-cli php7.4-fpm这类命令安装旧版本了。
备注:内容来源于stack exchange,提问作者Maarten
相关产品推荐
相关产品推荐

