Ubuntu 18.04安装PHP 7.4 FPM失败求助:PPA源报错解决方案
Ubuntu 18.04 安装PHP 7.4及扩展失败的修复方案
问题描述
尝试通过以下命令添加PPA源并安装PHP 7.4及相关扩展:
sudo add-apt-repository ppa:ondrej/php sudo apt-get install -y php7.4 php7.4-cli php7.4-json php7.4-common php7.4-mysql php7.4-zip php7.4-gd php7.4-mbstring php7.4-curl php7.4-xml php7.4-bcmath
执行后出现如下错误:
E: Unable to locate package php7.4-cli E: Couldn't find any package by glob 'php7.4-cli' E: Couldn't find any package by regex 'php7.4-cli' E: Unable to locate package php7.4-json E: Couldn't find any package by glob 'php7.4-json' E: Couldn't find any package by regex 'php7.4-json'
该操作在新版本Ubuntu上可正常完成,但在Ubuntu 18.04安装php7.4和php7.4-fpm时均报错。
修复方案
方案一:重置PPA源并刷新包列表
- 移除现有PPA源并更新:
sudo add-apt-repository --remove ppa:ondrej/php sudo apt-get update - 重新添加PPA源:
sudo add-apt-repository ppa:ondrej/php -y - 修复并刷新包列表:
sudo apt-get update --fix-missing - 再次执行安装命令:
sudo apt-get install -y php7.4 php7.4-cli php7.4-json php7.4-common php7.4-mysql php7.4-zip php7.4-gd php7.4-mbstring php7.4-curl php7.4-xml php7.4-bcmath
方案二:手动配置PPA源与密钥
如果自动添加PPA源失败,可手动配置:
- 创建并编辑PPA源文件:
sudo nano /etc/apt/sources.list.d/ondrej-php-bionic.list - 在文件中添加以下内容(对应Ubuntu 18.04的bionic版本):
deb http://ppa.launchpad.net/ondrej/php/ubuntu bionic main deb-src http://ppa.launchpad.net/ondrej/php/ubuntu bionic main - 添加PPA的GPG密钥以通过签名验证:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 14AA40EC0831756756D7F66C4F4EA0AAE5267A6C - 刷新包列表后安装:
sudo apt-get update sudo apt-get install -y php7.4 php7.4-cli php7.4-fpm php7.4-json php7.4-common php7.4-mysql php7.4-zip php7.4-gd php7.4-mbstring php7.4-curl php7.4-xml php7.4-bcmath
方案三:源码编译安装(替代方案)
若PPA源无法使用,可选择源码编译:
- 安装编译依赖:
sudo apt-get install -y build-essential libxml2-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libmysqlclient-dev libzip-dev libonig-dev - 下载并解压PHP 7.4源码包:
wget https://www.php.net/distributions/php-7.4.33.tar.gz tar -xzf php-7.4.33.tar.gz cd php-7.4.33 - 配置编译选项(可根据需求调整):
./configure --prefix=/usr/local/php7.4 --enable-cli --enable-fpm --with-mysqli --with-pdo-mysql --with-gd --with-jpeg --with-zip --with-curl --enable-mbstring --enable-xml --enable-bcmath --with-openssl - 编译并安装:
make -j$(nproc) sudo make install - 配置环境变量:
echo 'export PATH=/usr/local/php7.4/bin:$PATH' >> ~/.bashrc source ~/.bashrc
内容的提问来源于stack exchange,提问作者Gyanendra Giri
相关产品推荐
相关产品推荐

