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 # 安装依赖
通过 pecl 命令安装PECL扩展(如pcov):
bashsudo pecl install pcov
通过 install-php-extensions 脚本安装支持的扩展(需管理员权限):
bashsudo -E install-php-extensions xsl xdebug # 安装xsl和xdebug扩展 sudo docker-php-ext-enable xdebug # 启用xdebug(部分扩展需手动启用)
通过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构建的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安装前端依赖
包含浏览器依赖,配合 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 ***:CircleCI-Public/cimg-php.git
使用 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 子模块(独立仓库 cimg-shared),需更新子模块:
bashcd shared && git pull && cd .. && git add shared && git commit -m "更新子模块"
Dockerfile.template 文件,重新生成Dockerfile。本镜像仓库采用MIT许可证,详见 LICENSE。

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429