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

基于php:fpm镜像的Docker容器加载PHP intl扩展失败求助

解决PHP-FPM Docker容器中安装intl扩展的问题

我之前也碰到过一模一样的糟心事,折腾了好半天终于搞定了,给你分享几个亲测有效的方案:

方案一:Debian/Ubuntu基础镜像的标准安装流程

php:fpm默认是基于Debian的,安装intl必须先装系统依赖,不然编译会失败。直接把这段加到你的Dockerfile里:

# 安装intl所需的系统依赖
RUN apt-get update && apt-get install -y \
    libicu-dev \
    && rm -rf /var/lib/apt/lists/*  # 清理缓存减小镜像体积

# 编译并安装intl扩展
RUN docker-php-ext-configure intl \
    && docker-php-ext-install intl

我之前就是漏了装libicu-dev,导致编译一直报错,加上之后就顺利安装了。

方案二:如果是Alpine版本的php:fpm镜像

要是你用的是php:fpm-alpine这类轻量镜像,依赖包的名字不一样,得换成apk命令:

RUN apk add --no-cache icu-dev \
    && docker-php-ext-configure intl \
    && docker-php-ext-install intl

Alpine的包管理更简洁,记得加--no-cache避免缓存冗余。

验证扩展是否成功加载

安装完之后,你可以启动容器后执行这个命令确认:

php -m | grep intl

如果输出intl就说明加载成功了。要是没输出,去/usr/local/etc/php/conf.d/目录下看看有没有docker-php-ext-intl.ini文件,里面应该有extension=intl.so的配置,没有的话手动加一行就行。

另外,之前参考的方案可能针对的是比较旧的PHP镜像版本,现在官方的docker-php-ext-*脚本已经很成熟了,尽量用官方提供的工具,别自己手动编译,容易踩坑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:15:52