CircleCI PHP便捷镜像,专为PHP项目在CircleCI平台上的持续集成流程设计,提供预配置环境以简化集成部署。
收藏数: 6
下载次数: 42691419
类型:
cimg/phpcimg/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。
以下是 cimg/php 相关的常用 Docker 镜像,适用于 Web 开发、内容管理、传统应用 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务