cimg/php 是由CircleCI构建的Docker镜像,专为持续集成(CI)环境设计,用于替代旧版 circleci/php 镜像。该镜像包含完整的PHP运行环境、Composer依赖管理工具及常用PHP扩展,可直接用于CircleCI流水线中的构建任务,确保PHP项目在CI环境中高效完成构建、测试等流程。
mlocati/docker-php-extension-installer 工具快速安装扩展(如xsl、xdebug等)。<php-version>-node(如 7.4.26-node)。<php-version>-browsers(如 7.4.26-browsers)。cimg/php:<php-version>[-variant]
<php-version>:PHP版本,支持完整SemVer(如 7.4.26)或次要版本(如 7.4,自动指向最新补丁版本)。[-variant]:可选变体标识(-node 或 -browsers)。适用于需要在CircleCI流水线中运行PHP项目构建、测试的场景,尤其适合:
在CircleCI配置文件(.circleci/config.yml)中,通过 docker 执行器使用该镜像:
yamljobs: build: docker: - image: cimg/php:7.4.26 # 指定PHP版本 steps: - checkout # 拉取代码 - run: php --version # 验证PHP版本 - run: composer install # 安装依赖
方法1:使用PECL安装扩展
通过 pecl 命令安装PECL扩展(如pcov):
bashsudo pecl install pcov
方法2:使用扩展安装工具
通过 install-php-extensions 脚本安装支持的扩展(需管理员权限):
bashsudo -E install-php-extensions xsl xdebug # 安装xsl和xdebug扩展 sudo docker-php-ext-enable xdebug # 启用xdebug(部分扩展需手动启用)
方法3:手动编译安装扩展
通过Docker PHP Helper脚本手动编译安装核心扩展(如iconv):
bashsudo docker-php-source extract && \ # 提取PHP源码 sudo docker-php-ext-configure iconv # 配置扩展(如需自定义参数可添加--with-*) && \ sudo docker-php-ext-install iconv && \ # 编译安装扩展 sudo docker-php-ext-enable iconv && \ # 启用扩展 docker-php-source delete # 清理源码
默认包含Composer v2,如需切换到Composer v1:
yamlsteps: - run: sudo composer self-update --1 # 降级到Composer v1
Node.js变体
包含Node.js环境,适用于需Node.js构建的PHP项目:
yamljobs: build: docker: - image: cimg/php:7.4.26-node # Node.js变体标签 steps: - checkout - run: php --version # 验证PHP - run: node --version # 验证Node.js - run: npm install # 使用npm安装前端依赖
Browsers变体
包含浏览器依赖,配合 browser-tools orb安装Chrome/Firefox:
yamlorbs: browser-tools: circleci/browser-tools@1.1 # 引入浏览器工具orb jobs: test: docker: - image: cimg/php:7.4.26-browsers # Browsers变体标签 steps: - browser-tools/install-browser-tools # 安装Chrome/Firefox - checkout - run: google-chrome --version # 验证Chrome安装 - run: phpunit # 运行依赖浏览器的测试
7.4.26):确保构建环境稳定,避免意外更新。7.4):自动获取最新补丁版本,适合希望保持版本更新的场景。克隆仓库
bash# 社区用户(需先Fork) git clone --recurse-submodules <你的Fork仓库URL> cd cimg-php git submodule update --recursive # 初始化子模块 # 维护者 git clone --recurse-submodules git@github.com:CircleCI-Public/cimg-php.git
生成Dockerfile
使用 gen-dockerfiles.sh 脚本生成指定PHP版本的Dockerfile:
bash./shared/gen-dockerfiles.sh 7.4.26 # 生成PHP 7.4.26的Dockerfile # 生成的Dockerfile位于 ./7.4/Dockerfile
构建并测试镜像
bashcd 7.4 docker build -t test/php:7.4.26 . # 本地构建镜像 docker run -it test/php:7.4.26 bash # 运行容器测试
通过 release.sh 脚本发布新版本(以PHP 9.99为例):
bash./shared/release.sh 9.99 # 自动创建分支、生成Dockerfile、提交并推送
提交信息需包含 [release],触发CircleCI推送镜像至Docker Hub。
./shared 子模块(独立仓库 https://github.com/CircleCI-Public/cimg-shared%EF%BC%89%EF%BC%8C%E9%9C%80%E6%9B%B4%E6%96%B0%E5%AD%90%E6%A8%A1%E5%9D%97%EF%BC%9A
bashcd shared && git pull && cd .. && git add shared && git commit -m "更新子模块"
Dockerfile.template 文件,重新生成Dockerfile。本镜像仓库采用MIT许可证,详见 https://raw.githubusercontent.com/CircleCI-Public/cimg-php/main/LICENSE%E3%80%82
以下是 cimg/php 相关的常用 Docker 镜像,适用于 Web 开发、内容管理、传统应用 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务