轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
ghcr.io/mlocati/php-extension-installer

ghcr.io/mlocati/php-extension-installer:2.9.18

ghcr.iolinux/amd642.9.18大小: 未知更新于 2026年6月14日
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

在官方 PHP Docker 镜像中轻松安装 PHP 扩展

本仓库包含一个脚本,可用于在 https://hub.docker.com/_/php/ 中轻松安装 PHP 扩展。

该脚本将安装所有所需的 APT/APK 软件包;脚本执行结束时,不再需要的软件包将被移除,从而使镜像体积更小。

支持的 docker 镜像包括:

  • 基于 Debian 的 docker 镜像:从 jessie(Debian 8)开始(最低 PHP 版本:5.5)
  • 基于 Alpine 的 docker 镜像:从 Alpine 3.9 开始(最低 PHP 版本:7.1)

另请参见 特殊要求 部分中的说明。

使用方法

在您的 Dockerfile 中,有多种使用此脚本的方式。

以下是安装 GD 和 xdebug PHP 扩展的示例 Dockerfile 列表:

使用 ADD 动态下载脚本

FROM php:7.2-cli

ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/

RUN install-php-extensions gd xdebug

使用 curl 动态下载脚本

FROM php:7.2-cli

RUN curl -sSLf \
-o /usr/local/bin/install-php-extensions \
https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions && \
chmod +x /usr/local/bin/install-php-extensions && \
install-php-extensions gd xdebug

使用 curl 直接执行

FROM php:8.2-cli

RUN ( curl -sSLf https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions -o - || echo 'return 1' ) | sh -s \
gd xdebug

从 Docker 镜像复制脚本

  • 使用 GitHub Container Registry
FROM php:8.4-cli

COPY --from=ghcr.io/mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/

RUN install-php-extensions gd xdebug
  • 使用 Docker Hub
FROM php:8.4-cli

COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/

RUN install-php-extensions gd xdebug

[!WARNING] 通过此方法,您可能会使用过时版本的 Docker 镜像。为了使用最新版本,您可能需要运行 docker pull ghcr.io/mlocati/php-extension-installer 或 docker pull mlocati/php-extension-installer。

使用 Docker 镜像中的脚本

  • 使用 GitHub Container Registry
RUN --mount=type=bind,from=ghcr.io/mlocati/php-extension-installer:latest,source=/usr/bin/install-php-extensions,target=/usr/local/bin/install-php-extensions \
install-php-extensions gd xdebug
  • 使用 Docker Hub
RUN --mount=type=bind,from=mlocati/php-extension-installer:latest,source=/usr/bin/install-php-extensions,target=/usr/local/bin/install-php-extensions \
install-php-extensions gd xdebug

[!WARNING] 通过此方法,您可能会使用过时版本的 Docker 镜像。为了使用最新版本,您可能需要运行 docker pull ghcr.io/mlocati/php-extension-installer 或 docker pull mlocati/php-extension-installer。

安装特定版本的扩展

只需在模块名称后附加 - 。例如:

install-php-extensions xdebug-2.9.7

该脚本还支持通过在版本前添加插入符(^)来解析兼容版本。例如:

# 安装最新的 xdebug 2.x 版本(例如 2.9.8)
install-php-extensions xdebug-^2
# 安装最新的 xdebug 2.8.x 版本(例如 2.8.1)
install-php-extensions xdebug-^2.8

请注意,使用上述语法将获取最新的兼容版本,该版本可能不稳定。要安装最新的稳定版本,您可以附加 @stable:

# 安装最新的稳定版 xdebug 3.x 版本(例如 3.2.2)
install-php-extensions xdebug-^3@stable

(有效的后缀包括:@snapshot、@devel、@alpha、@beta 和 @stable)

PECL 上可用的预发布版本扩展可以通过在扩展名称后附加其状态(即 alpha、beta、rc、preview、devel 或 snapshot)来安装。例如:

install-php-extensions xdebug-beta

提示:当 PECL 上的最新版本不稳定,而您希望保留最后一个稳定版本时,可以通过在扩展名称后附加 stable 状态来强制安装。例如:

install-php-extensions mongodb-stable

从源代码安装扩展

您还可以从源代码安装 PHP 扩展(前提是源代码包含 package.xml 或 package2.xml 文件)。

支持的格式包括:

  • GitHub 托管仓库的简化格式。例如,对于 https://github.com/php-memcached-dev/php-memcached GitHub 仓库,您可以简写成:
# 从特定提交安装(完整 commit SHA-1)
install-php-extensions php-memcached-dev/php-memcached@8f106564e6bb005ca6100b12ccc89000daafa9d8
# 从特定提交安装(短 commit SHA-1)
install-php-extensions php-memcached-dev/php-memcached@8f106564e6bb
# 从标签 v3.2.0RC2 安装
install-php-extensions php-memcached-dev/php-memcached@v3.2.0RC2
install-php-extensions php-memcached-dev/php-memcached@refs/tags/v3.2.0RC2
# 从 master 分支安装
install-php-extensions php-memcached-dev/php-memcached@master
install-php-extensions php-memcached-dev/php-memcached@refs/heads/master
  • 提供源代码归档文件的 URL。示例:
# 提交 8f106564e6bb005ca6100b12ccc89000daafa9d8 的 tgz 归档
install-php-extensions https://codeload.github.com/php-memcached-dev/php-memcached/tar.gz/8f106564e6bb005ca6100b12ccc89000daafa9d8
# 标签 v3.1.5 的 tgz 归档
install-php-extensions https://codeload.github.com/php-memcached-dev/php-memcached/tar.gz/refs/tags/v3.1.5
# master 分支的 tgz 归档
install-php-extensions https://codeload.github.com/php-memcached-dev/php-memcached/tar.gz/refs/heads/master
  • 本地目录的绝对路径。示例:
# 下载源代码
curl -o /tmp/source.tgz https://codeload.github.com/php-memcached-dev/php-memcached/tar.gz/refs/tags/v3.1.5
tar xzf /tmp/source.tgz -C /tmp
install-php-extensions /tmp/php-memcached-3.1.5

扩展是否为内置版本?

有些扩展捆绑在 PHP 源代码中(例如 gd 和 zip)。

其中一些扩展也可在 PECL 和/或源代码仓库中获取。

默认情况下,install-php-extensions 安装内置版本。

如果您希望使用远程版本:

  • 要使用 PECL:只需在包名称后附加稳定性。例如:
install-php-extensions zip-stable
  • 要从源代码安装:使用 上文指定的语法。例如:
install-php-extensions php/pecl-database-oci8@7aa1061

安装 composer

您还可以安装 https://getcomposer.org/%EF%BC%8C%E5%B9%B6%E4%B8%94%E5%8F%AF%E4%BB%A5%E6%8C%87%E5%AE%9A%E5%85%B6%E4%B8%BB%E7%89%88%E6%9C%AC%E6%88%96%E5%AE%8C%E6%95%B4%E7%89%88%E6%9C%AC%E3%80%82

示例:

# 安装最新版本
install-php-extensions @composer
# 安装最新的 1.x 版本
install-php-extensions @composer-1
# 安装特定版本
install-php-extensions @composer-2.0.2
扩展PHP 8.5PHP 8.4PHP 8.3PHP 8.2PHP 8.1PHP 8.0PHP 7.4PHP 7.3PHP 7.2PHP 7.1PHP 7.0PHP 5.6PHP 5.5
amqp✓✓✓✓✓✓✓✓✓✓✓✓✓
apcu✓✓✓✓✓✓✓✓✓✓✓✓✓
apcu_bc✓✓✓✓✓
ast✓✓✓✓✓✓✓✓✓✓✓
bcmath✓✓✓✓✓✓✓✓✓✓✓✓✓
bitset✓✓✓✓✓✓✓✓✓✓✓✓✓
blackfire✓✓✓✓✓✓✓✓✓✓✓✓✓
brotli✓✓✓✓✓✓✓✓✓✓✓
bz2✓✓✓✓✓✓✓✓✓✓✓✓✓
calendar✓✓✓✓✓✓✓✓✓✓✓✓✓
cassandra*✓✓✓✓✓✓✓✓✓
cmark✓✓✓✓✓
csv✓✓✓✓✓✓✓✓
dba✓✓✓✓✓✓✓✓✓✓✓✓✓
ddtrace*✓✓✓✓✓✓✓✓✓✓✓✓
decimal✓✓✓✓✓✓✓✓✓✓✓
ds✓✓✓✓✓✓✓✓✓✓✓
ecma_intl*✓✓
enchant✓✓✓✓✓✓✓✓✓✓✓✓✓
ev✓✓✓✓✓✓✓✓✓✓✓✓✓
event✓✓✓✓✓✓✓✓✓✓✓✓✓
excimer✓✓✓✓✓✓✓✓✓✓
exif✓✓✓✓✓✓✓✓✓✓✓✓✓
ffi✓✓✓✓✓✓✓
ftp✓✓✓✓
gd✓✓✓✓✓✓✓✓✓✓✓✓✓
gearman✓✓✓✓✓✓✓✓✓✓✓✓✓
geoip✓✓✓✓✓✓✓
geos*✓✓✓✓✓✓✓✓✓✓✓✓
geospatial✓✓✓✓✓✓✓✓✓✓✓✓✓
gettext✓✓✓✓✓✓✓✓✓✓✓✓✓
gmagick✓✓✓✓✓✓✓✓✓✓✓✓
gmp✓✓✓✓✓✓✓✓✓✓✓✓✓
gnupg✓✓✓✓✓✓✓✓✓✓✓✓✓
grpc✓✓✓✓✓✓✓✓✓✓✓✓✓
http✓✓✓✓✓✓✓✓✓✓✓✓✓
igbinary✓✓✓✓✓✓✓✓✓✓✓✓✓
imagick✓✓✓✓✓✓✓✓✓✓✓✓✓
imap✓✓✓✓✓✓✓✓✓✓✓✓✓
inotify✓✓✓✓✓✓✓✓✓✓✓✓✓
interbase✓✓✓✓✓✓
intl✓✓✓✓✓✓✓✓✓✓✓✓✓
ion✓✓✓✓✓
ioncube_loader✓✓✓✓✓✓✓✓✓✓✓✓
ip2location✓✓✓✓✓✓
jsmin✓✓✓✓✓✓✓
json_post✓✓✓✓✓✓✓✓✓✓✓✓✓
jsonpath✓✓✓✓✓✓✓
judy*✓✓✓✓✓✓
ldap✓✓✓✓✓✓✓✓✓✓✓✓✓
luasandbox✓✓✓✓✓✓✓✓✓✓✓✓✓
lz4*✓✓✓✓✓✓✓✓✓✓✓✓
lzf✓✓✓✓✓✓✓✓✓✓✓✓✓

支持的扩展数量:162

PS:预装的PHP扩展不包含在此列表中。
您可以使用以下命令列出它们(将php:8.5-cli替换为您感兴趣的PHP版本):

$ docker run --rm php:8.5-cli php -m
[PHP Modules]
Core
ctype
curl
date
dom
fileinfo
filter
hash
iconv
json
lexbor
libxml
mbstring
mysqlnd
openssl
pcre
PDO
pdo_sqlite
Phar
posix
random
readline
Reflection
session
SimpleXML
sodium
SPL
sqlite3
standard
tokenizer
uri
xml
xmlreader
xmlwriter
Zend OPcache
zlib

[Zend Modules]
Zend OPcache

配置

您可以通过环境变量配置脚本的行为,并微调某些扩展以满足您的需求。

以下是一个示例:

IPE_LZF_BETTERCOMPRESSION=1 install-php-extensions lzf

以下是所有支持的环境变量列表:

扩展环境变量描述
IPE_DEBUG=1设置此环境变量后,脚本将打印其执行的所有命令(输出会非常详细,仅用于调试目的)
IPE_INSECURE=1设置此环境变量后,程序执行网络操作时将禁用HTTPS证书验证
IPE_SAVE_PERMDEPS_TO=path IPE_SAVE_VOLDEPS_TO=path设置此环境变量后,脚本会将已安装PHP扩展所需的APT/APK包列表(IPE_SAVE_PERMDEPS_TO)和/或构建PHP扩展所需的包列表(IPE_SAVE_VOLDEPS_TO)存储到指定路径。请注意,install-php-extension 可能会以其他方式配置系统(https://github.com/mlocati/docker-php-extension-installer/blob/2.9.28/install-php-extensions#L2234-L2286%EF%BC%89
IPE_PROCESSOR_COUNT默认使用所有可用处理器。设置此环境变量可覆盖脚本检测到的处理器数量(用于并行编译)
IPE_DONT_ENABLE=1默认情况下,脚本会安装并启用扩展。如果您只想安装扩展(不启用),可以设置此环境变量。要在后续启用扩展,可执行命令 docker-php-ext-enable-(例如:docker-php-ext-enable-xdebug)。注意:安装某些PHP扩展需要其他PHP扩展已启用,因此请谨慎使用此功能。
IPE_SKIP_CHECK=1默认情况下,脚本会检查扩展是否可启用;如果要跳过此检查,可使用此标志。注意:扩展可能会在启用后导致PHP运行异常,请谨慎使用此功能。
IPE_NOSTRIP=1设置此环境变量后,已编译的PHP扩展将保留调试符号(对调试段错误等崩溃问题有用)
IPE_KEEP_SYSPKG_CACHE=1默认情况下,脚本会清除apt/apk/pear缓存以节省磁盘空间。设置此环境变量可禁用此行为
lzfIPE_LZF_BETTERCOMPRESSION=1默认情况下,install-php-extensions 编译 lzf 扩展时优先考虑速度而非大小;您可以使用此环境变量编译时优先考虑大小而非速度
eventIPE_EVENT_NAMESPACE=...默认情况下,event 类定义在根命名空间中。您可以使用此环境变量指定自定义命名空间
gdIPE_GD_WITHOUTAVIF=1从PHP 8.1开始,gd支持AVIF格式。在Debian 11及以下版本和Alpine 3.14及以下版本中启用AVIF需要编译libaom/libdav1d/libyuv/libavif,这非常耗时。在这些操作系统版本上,您可以通过设置此环境变量禁用AVIF支持
oci8 & pdo_ociIPE_INSTANTCLIENT_BASIC=1oci8和pdo_oci PHP扩展需要https://www.oracle.com/database/technologies/instant-client.html%E3%80%82%E4%B8%BA%E8%8A%82%E7%9C%81%E7%A3%81%E7%9B%98%E7%A9%BA%E9%97%B4%EF%BC%8C%E6%88%91%E4%BB%AC%E9%BB%98%E8%AE%A4%E5%AE%89%E8%A3%85Basic Lite版本;如果您想安装Basic(非精简)版本,只需设置此环境变量
http, intl, mongodbIPE_ICU_EN_ONLY=1某些扩展需要ICU库,在Alpine 3.16及更高版本上,使用此标志可安装更小的仅英文ICU库
pspellIPE_ASPELL_LANGUAGES='...'配置可用的语言(例如:IPE_ASPELL_LANGUAGES='en fr')。如未指定,默认使用 en
IPE_DEB_ARCHIVE & IPE_DEB_ARCHIVE_SECURITY非常旧的Debian版本(如Jessie)的APT包可能已归档:您可以使用这些环境变量指定这些APT归档的自定义URL
newrelicIPE_NEWRELIC_DAEMON=1安装NewRelic守护进程
newrelicIPE_NEWRELIC_KEEPLOG=1保留NewRelic安装的日志文件(/tmp/nrinstall-….tar)
newrelicNR_INSTALL_KEY您的New Relic许可证密钥
ddtraceIPE_DD_APPSEC=1同时启用Datadog https://docs.datadoghq.com/security/application_security/%E6%A8%A1%E5%9D%97%EF%BC%88%60ddappsec%60%EF%BC%89%E3%80%82%E9%9C%80%E8%A6%81PHP 7.0+和1.x tracer系列
ddtraceIPE_DD_PROFILING=1同时启用Datadog https://docs.datadoghq.com/profiler/%E6%A8%A1%E5%9D%97%EF%BC%88%60datadog-profiling%60%EF%BC%89%E3%80%82%E9%9C%80%E8%A6%81PHP 7.1+、Alpine 3.13+(或任何Debian版本)和1.x tracer系列
swooleIPE_SWOOLE_WITHOUT_IOURING=1安全专家认为io_uring内核功能不安全(参见此处和此处)。默认情况下,Swoole 6及更高版本配置了io_uring支持,使用此环境变量可跳过io_uring配置
saxonIPE_SAXON_EDITION=EESaxon版本:EE 表示企业版(默认),PE 表示专业版,HE 表示家庭版

特殊要求

某些扩展有特殊要求:

如何为已支持的 PHP 扩展修改支持的 PHP 版本?

  1. 修改 install-php-extensions 脚本
  2. 更新 data/supported-extensions 文件,在对应扩展的现有行中添加新的 PHP 版本

示例可参见 https://github.com/mlocati/docker-php-extension-installer/pull/62%E3%80%82

如何改进已支持扩展的代码?

如果您修改的代码会影响一个或多个扩展,请在拉取请求的某个提交消息中添加一行 Test: extension1, extension2。 这样,即使您没有修改 data/supported-extensions 文件,测试任务也会检查这些扩展。

以下是提交消息示例:

Improve the GD and ZIP extensions

Test: gd, zip

测试每次仅检查单个 PHP 扩展的安装。 如果您想同时测试安装多个 PHP 扩展,请使用如下提交消息:

Improve the GD and ZIP extensions

Test: gd+zip

如果您的拉取请求包含多个提交,我们会检查每个提交的“Test:”消息。 如果您想停止解析后续提交,请在“Test:”行中添加 -STOP-,例如:

改进 GD 和 ZIP 扩展

测试:gd, zip, -STOP-

有关示例,请参见 https://github.com/mlocati/docker-php-extension-installer/pull/43%E3%80%82

PHP 要求和配置选项

发布在 PECL 档案库中的 PHP 扩展包含一个 package.xml(或 package2.xml)文件,该文件描述了支持的 PHP 版本以及可用于编译它的选项。当我们添加对新 PHP 扩展的支持,以及当 PHP 扩展的新版本发布时,我们必须检查这些约束条件。

这是一项相当繁琐的任务,因此我开发了一个项目,可让您轻松检查这些约束条件:您可以在 https://mlocati.github.io/pecl-info 找到它(https://github.com/mlocati/pecl-info 可找到其源代码)。

面向维护者

请参见 https://github.com/mlocati/docker-php-extension-installer/blob/master/MAINTAINERS.md 文件。

您真的想表达感谢吗?

您可以请我喝一杯 https://github.com/***/mlocati 或 一次性咖啡 :wink:

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Apple Container

macOS 原生容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

Unraid

Unraid NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

一键安装

一键安装 Docker

Linux Docker 一键安装

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

版本功能对比

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 专业版 · 企业版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
ghcr.io/mlocati/php-extension-installer
教程轩辕镜像功能与使用教程
定价查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
用户协议·隐私政策·增值电信业务经营许可证:浙B2-20261007·©2024-2026 源码跳动©2024-2026 杭州源码跳动科技有限公司·商务合作:点击复制邮箱