arm32v6/phparm32v6/php 是针对 ARM32v6 架构构建的 PHP 官方 Docker 镜像,基于 PHP 官方镜像 的特定架构版本。PHP 是一种服务器端脚本语言,主要设计用于 Web 开发,同时也可作为通用编程语言使用。该镜像适用于在 ARM32v6 架构设备(如嵌入式系统、树莓派等)上部署 PHP 应用,提供了灵活的扩展安装、配置管理和多种运行模式支持。
docker-php-ext-configure、docker-php-ext-install、docker-php-ext-enable 等工具,简化 PHP 核心扩展、PECL 扩展及第三方扩展的安装与配置。php.ini-development 和 php.ini-production 配置文件,支持通过 $PHP_INI_DIR/conf.d/ 目录自定义配置。cli 变体运行 PHP 命令行工具或脚本(如定时任务、数据处理脚本)。fpm 变体作为 Web 服务器(如 Nginx、Apache)的 FastCGI 后端,处理 PHP 动态请求。alpine 变体在对镜像体积敏感的场景中部署(如嵌入式设备、低资源服务器)。创建 Dockerfile 定义 PHP 应用环境:
dockerfileFROM arm32v6/php:8.2-cli COPY . /usr/src/myapp WORKDIR /usr/src/myapp CMD ["php", "./your-script.php"]
构建并运行镜像:
console$ docker build -t my-php-app . $ docker run -it --rm --name my-running-app my-php-app
无需编写 Dockerfile,直接挂载脚本文件并运行:
console$ docker run -it --rm --name my-running-script \ -v "$PWD":/usr/src/myapp \ -w /usr/src/myapp \ arm32v6/php:8.2-cli \ php your-script.php
通过 docker-php-ext-install 安装 PHP 核心扩展,需先安装依赖库。例如安装 gd 扩展:
dockerfileFROM arm32v6/php:8.2-fpm RUN apt-get update && apt-get install -y \ libfreetype-dev \ libjpeg62-turbo-dev \ libpng-dev \ && docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install -j$(nproc) gd
通过 pecl install 安装 PECL 扩展,再用 docker-php-ext-enable 启用。例如安装 redis 和 xdebug:
dockerfileFROM arm32v6/php:8.2-cli RUN pecl install redis-5.3.7 \ && pecl install xdebug-3.2.1 \ && docker-php-ext-enable redis xdebug
对于非核心或非 PECL 扩展,可通过源码编译安装。例如:
dockerfileFROM arm32v6/php:8.2-cli RUN curl -fsSL "[扩展源码URL]" -o module-name.tar.gz \ && mkdir -p /tmp/module-name \ && tar -xf module-name.tar.gz -C /tmp/module-name --strip-components=1 \ && rm module-name.tar.gz \ && docker-php-ext-configure /tmp/module-name --enable-module-name \ && docker-php-ext-install /tmp/module-name \ && rm -r /tmp/module-name
镜像内置两种配置文件:
php.ini-development:开发环境配置(默认启用)php.ini-production:生产环境配置(推荐生产环境使用)切换至生产配置示例:
dockerfileFROM arm32v6/php:8.2-fpm-alpine RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
通过挂载或复制配置文件到 $PHP_INI_DIR/conf.d/ 目录来自定义 PHP 配置。例如创建 custom.ini:
iniupload_max_filesize = 20M post_max_size = 20M
在 Dockerfile 中复制到容器:
dockerfileFROM arm32v6/php:8.2-cli COPY custom.ini $PHP_INI_DIR/conf.d/
直接通过 --user 参数指定 UID/GID 或用户名运行:
console$ docker run -it --rm --name my-php-fpm --user 1000:1000 arm32v6/php:8.2-fpm
内核版本 ≥4.11:添加 --sysctl net.ipv4.ip_unprivileged_port_start=0 允许非特权用户绑定低端口:
console$ docker run -it --rm --name my-php-apache --sysctl net.ipv4.ip_unprivileged_port_start=0 --user 1000:1000 arm32v6/php:8.2-apache
低版本内核:修改 Apache 配置使用 ≥1024 的端口,再指定非特权用户运行。
arm32v6/php:<version>-cli包含 PHP CLI(命令行接口)工具,适用于运行命令行脚本或作为基础镜像构建应用。默认不包含 Web 服务器,仅提供 PHP 解释器。所有 PHP 镜像变体均包含此 CLI 工具(路径 /usr/local/bin/php)。
arm32v6/php:<version>-alpine基于 Alpine Linux 构建,镜像体积极小(约 5MB 基础镜像),适合资源受限环境。使用 musl 标准库(替代 glibc),需注意部分依赖 glibc 的扩展可能兼容性问题。
arm32v6/php:<version>-fpm包含 PHP-FPM(FastCGI 进程管理器),作为 Web 服务器的后端处理 PHP 请求。需配合 Nginx、Apache 等支持 FastCGI 的 Web 服务器使用,禁止直接暴露 FPM 端口到公网(FastCGI 协议本身不提供安全防护)。
amd64、arm32v5、arm32v7、arm64v8、i386 等架构,详见 官方文档。镜像中包含的 PHP 软件许可信息参见 PHP 官方许可。镜像可能包含其他软件(如基础系统组件、依赖库),其许可信息需参考各软件自身条款。部分自动检测的许可信息可在 repo-info 仓库的 php 目录 中查看。
使用本镜像时,用户需确保遵守所有包含软件的许可协议。

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