You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laradock编译PHP8.1失败,请求解决方案

解决Laradock编译PHP8.1时Debian仓库GPG密钥验证失败问题

问题根源

你遇到的错误是因为Laradock的PHP8.1镜像基于Debian Bookware发行版,但构建过程中缺失该版本仓库对应的GPG公钥,导致apt-get update无法验证仓库签名而失败。你此前修改nginx的Dockerfile属于无效操作,因为问题出在php-fpm的构建流程中。

解决方案

方案一:手动在PHP8.1的Dockerfile中导入缺失密钥

  1. 打开Laradock目录下的PHP8.1专用Dockerfile:laradock/php-fpm/Dockerfile-81
  2. 在FROM php:${LARADOCK_PHP_VERSION}-fpm-bookworm这一行之后,添加以下代码段:
RUN set -eux; \
    apt-get update -yqq && apt-get install -yqq gnupg2; \
    # 导入Debian Bookware仓库所需的缺失密钥
    gpg --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9 6ED0E7B82643E131 F8D2585B8783D481 54404762BBB6E853 BDE6D2B9216EC7A8; \
    gpg --export 0E98404D386FA1D9 6ED0E7B82643E131 F8D2585B8783D481 54404762BBB6E853 BDE6D2B9216EC7A8 | apt-key add -;
  1. 清理本地Docker缓存,避免旧镜像干扰:
docker system prune -af
  1. 重新构建php-fpm服务:
docker-compose build php-fpm --no-cache

方案二:升级Laradock到最新版本

官方可能已经修复了Debian密钥的问题,直接升级Laradock即可:

  1. 进入Laradock目录,拉取最新代码:
git pull origin master
  1. 备份你当前的.env文件(避免自定义配置丢失),然后从示例文件重新生成:
cp .env.example .env
  1. 在新的.env文件中重新设置PHP_VERSION=8.1
  2. 重新构建php-fpm服务:
docker-compose build php-fpm

内容的提问来源于stack exchange,提问作者Jack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 19:22:39