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

Ubuntu 24.04下PHP5.6 Docker镜像依赖安装失败的解决方法

解决Docker中PHP5.6镜像无法安装依赖的问题

问题原因

php5.6-apache 镜像基于Ubuntu 16.04(Xenial Xerus),该版本已停止官方维护,默认APT源地址已失效,导致无法定位软件包。

修复方案

替换APT源为Ubuntu旧版本归档服务器地址,再执行依赖安装操作,同时修正原Dockerfile中的命令拼写错误:

修改后的Dockerfile

FROM php5.6-apache

# 替换APT源为Ubuntu归档源
RUN echo "deb http://old-releases.ubuntu.com/ubuntu/ xenial main restricted universe multiverse" > /etc/apt/sources.list && \
    echo "deb http://old-releases.ubuntu.com/ubuntu/ xenial-updates main restricted universe multiverse" >> /etc/apt/sources.list && \
    echo "deb http://old-releases.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse" >> /etc/apt/sources.list && \
    echo "deb http://old-releases.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse" >> /etc/apt/sources.list

# 更新源并安装依赖,同时清理缓存减小镜像体积
RUN apt-get update && apt-get install -y mysql-client php5.6-mysql && \
    rm -rf /var/lib/apt/lists/*

# 启用Apache rewrite模块(修正原拼写错误:a2enmode → a2enmod)
RUN a2enmod rewrite

EXPOSE 80

关键说明

  • 归档源地址:Ubuntu将停止维护的旧版本软件包统一托管在old-releases.ubuntu.com,替换后可正常获取依赖
  • 清理缓存:rm -rf /var/lib/apt/lists/* 会删除APT下载的缓存文件,有效减小镜像体积
  • 命令修正:原Dockerfile中a2enmode为拼写错误,正确启用模块的命令是a2enmod

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 21:27:33