专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

cimg/php Docker 镜像 - 轩辕镜像

镜像简介

CircleCI PHP便捷镜像,专为PHP项目在CircleCI平台上的持续集成流程设计,提供预配置环境以简化集成部署。

镜像统计信息

收藏数: 6

下载次数: 41564491

状态: active

发布者: cimg

类型: 镜像

php
cimg/php
CircleCI PHP便捷镜像,专为PHP项目在CircleCI平台上的持续集成流程设计,提供预配置环境以简化集成部署。
6 收藏0 次下载activecimg镜像
🚀专业版镜像服务,面向生产环境设计
版本下载
🚀专业版镜像服务,面向生产环境设计

cimg/php Docker镜像文档

镜像概述和主要用途

cimg/php 是由CircleCI构建的Docker镜像,专为持续集成(CI)环境设计,用于替代旧版 circleci/php 镜像。该镜像包含完整的PHP运行环境、Composer依赖管理工具及常用PHP扩展,可直接用于CircleCI流水线中的构建任务,确保PHP项目在CI环境中高效完成构建、测试等流程。

核心功能和特性

完整的PHP环境
  • 包含指定版本的PHP解释器,支持多种PHP版本(如7.4、8.0等)。
  • 内置Composer(v2版本,2020年11月及以后构建的标签),用于PHP依赖管理。
PHP扩展支持
  • 集成PEAR(PHP扩展与应用库仓库)、PECL(PHP扩展社区库)及Docker PHP Helper脚本,便于安装和管理PHP扩展。
  • 支持通过 mlocati/docker-php-extension-installer 工具快速安装扩展(如xsl、xdebug等)。
多变体支持
  • Node.js变体:在基础镜像上额外安装Node.js,标签格式为 <php-version>-node(如 7.4.26-node)。
  • Browsers变体:包含Node.js、Java、Selenium及浏览器依赖,配合CircleCI Browser Tools orb可安装Chrome/Firefox,标签格式为 <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项目构建、测试的场景,尤其适合:

  • PHP应用的持续集成构建流程。
  • 需要PHP与Node.js协同的前端+后端项目构建。
  • 依赖浏览器环境的PHP应用测试(如Selenium自动化测试)。

详细的使用方法和配置说明

基本使用(CircleCI配置)

在CircleCI配置文件(.circleci/config.yml)中,通过 docker 执行器使用该镜像:

yaml
jobs:
  build:
    docker:
      - image: cimg/php:7.4.26  # 指定PHP版本
    steps:
      - checkout  # 拉取代码
      - run: php --version  # 验证PHP版本
      - run: composer install  # 安装依赖
安装PHP扩展
方法1:使用PECL安装扩展

通过 pecl 命令安装PECL扩展(如pcov):

bash
sudo pecl install pcov
方法2:使用扩展安装工具

通过 install-php-extensions 脚本安装支持的扩展(需管理员权限):

bash
sudo -E install-php-extensions xsl xdebug  # 安装xsl和xdebug扩展
sudo docker-php-ext-enable xdebug  # 启用xdebug(部分扩展需手动启用)
方法3:手动编译安装扩展

通过Docker PHP Helper脚本手动编译安装核心扩展(如iconv):

bash
sudo 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版本切换

默认包含Composer v2,如需切换到Composer v1:

yaml
steps:
  - run: sudo composer self-update --1  # 降级到Composer v1
变体使用示例
Node.js变体

包含Node.js环境,适用于需Node.js构建的PHP项目:

yaml
jobs:
  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:

yaml
orbs:
  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
生成Dockerfile

使用 gen-dockerfiles.sh 脚本生成指定PHP版本的Dockerfile:

bash
./shared/gen-dockerfiles.sh 7.4.26  # 生成PHP 7.4.26的Dockerfile
# 生成的Dockerfile位于 ./7.4/Dockerfile
构建并测试镜像
bash
cd 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),需更新子模块:
    bash
    cd shared && git pull && cd .. && git add shared && git commit -m "更新子模块"
    
  • 父镜像变更:新PHP版本镜像会自动继承父镜像更新,旧版本需重新构建为新版本。
  • PHP特定变更:修改本仓库 Dockerfile.template 文件,重新生成Dockerfile。

附加资源

  • CircleCI官方文档
  • CircleCI配置参考
  • Docker官方文档
  • PHP扩展安装工具

许可证

本镜像仓库采用MIT许可证,详见 LICENSE。

相关 Docker 镜像推荐

以下是 cimg/php 相关的常用 Docker 镜像,适用于 Web 开发、内容管理、传统应用 等不同场景:

  • library/php Docker 镜像说明(PHP 运行时,适合传统 Web 应用)
  • serversideup/php Docker 镜像说明(PHP 运行时环境,ServerSideUp 维护版本)
  • library/python Docker 镜像说明(Python 运行时,适合数据科学和 Web 开发)
  • library/node Docker 镜像说明
  • bitnami/node Docker 镜像说明(Node.js 运行时,企业级配置)

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。

国内拉取方式

docker pull docker.xuanyuan.run/cimg/php:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

官方拉取方式

docker pull cimg/php:<标签>

相关镜像推荐

php logo
php
by library
官方
PHP脚本语言虽最初为Web开发设计,却兼具通用目的用途,作为一种广泛应用的服务器端脚本语言,它能高效处理动态网页生成、数据库交互等Web开发核心任务,同时也可用于编写命令行脚本、开发桌面应用及进行系统管理等非Web领域,凭借其简洁语法与跨平台特性,成为众多开发者在不同场景下的实用工具。
78251B+ pulls
上次更新:5 天前
devwithlando/php logo
devwithlando/php
by Lando Alliance
Lando是一款受专业开发者信赖的本地开发和DevOps工具,可帮助用户摆脱低效开发工具的束缚,节省时间与精力,专注于实际工作。
161M+ pulls
上次更新:1 个月前
serversideup/php logo
serversideup/php
by Server Side Up
适合生产环境的PHP Docker镜像,针对Laravel和WordPress进行了优化。
551M+ pulls
上次更新:18 天前
paketobuildpacks/php logo
paketobuildpacks/php
by Linux Foundation
暂无描述
5M+ pulls
上次更新:11 个月前
shinsenter/php logo
shinsenter/php
by SHIN Company
简化的PHP Docker镜像,便于轻松定制和扩展设置。
32500K+ pulls
上次更新:7 天前
chainguard/php logo
chainguard/php
by Chainguard, Inc.
认证
使用Chainguard的低至零CVE容器镜像构建、交付和运行安全软件。
150K+ pulls
上次更新:6 天前
查看更多 php 相关镜像

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

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

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

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

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

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

轩辕镜像
镜像详情
...
cimg/php
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429