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

Ubuntu下Docker Compose运行Symfony项目web-app服务构建失败报错

报错原因

这个报错是构建web-app服务镜像时,PHP源码编译流程异常退出导致的,返回码2通常对应以下几类问题:

  • 网络访问失败:命令中使用的php.net源码地址、ha.pool.sks-keyservers.net密钥服务器在国内网络环境下经常出现连接超时、资源404的情况,GPG密钥拉取失败、PHP源码包下载校验不通过都会直接中断构建
  • 依赖版本不兼容:你使用的Ubuntu基础镜像的软件源内依赖库版本和待编译的PHP版本不匹配,比如PHP7.x系列不支持Ubuntu 22.04+默认的libssl3,会在configure阶段报错退出
  • 系统资源不足:编译PHP对CPU、内存要求较高,Docker分配的内存低于2G时,多线程并行编译很容易出现内存溢出导致进程中断
  • 本地构建缓存损坏:之前的构建残留的损坏缓存、apt源缓存异常也会导致依赖安装失败
修复方案
  • 替换不可用的外部地址:将PHP源码下载地址替换为国内镜像站地址,将GPG密钥服务器替换为hkp://keyserver.ubuntu.com,解决网络访问问题
  • 适配依赖版本:如果编译的是PHP7.x版本,在Ubuntu 22.04+系统下将依赖中的libssl-dev替换为libssl1.1-dev,避免版本不兼容问题
  • 调整编译参数:构建时将make -j"$(nproc)"修改为make -j2,限制并行编译进程数,同时给Docker分配至少4G内存,避免资源不足
  • 清理缓存重试:执行docker system prune -a清理本地无用镜像和构建缓存后,再执行docker-compose up --build重新构建

如果你不需要定制PHP编译参数,建议直接使用官方预编译的PHP镜像作为基础镜像,仅安装Symfony依赖的扩展即可,完全规避源码编译带来的各类问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:45:08