本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Extended PHP 镜像是一款专为运行 PHP 应用程序定制的 Docker 镜像,基于*** PHP 镜像扩展构建。该镜像支持多种环境组合(Web 服务器、PHP 模式及基础系统),提供灵活的配置选项,适用于 PHP 应用的开发、测试与生产部署场景。
镜像提供以下标签,对应不同的环境组合:
touch4it/php8:php8.1-apachetouch4it/php8:php8.2-apachetouch4it/php8:php8.3-apachetouch4it/php8:php8.1-fpm-apachetouch4it/php8:php8.2-fpm-apachetouch4it/php8:php8.3-fpm-apachetouch4it/php8:latest(默认,对应最新 PHP 版本的 Alpine+Nginx+PHP-FPM)touch4it/php8:php8.1-fpm-nginxtouch4it/php8:php8.1-fpm-nginx-dev(开发版)touch4it/php8:php8.2-fpm-nginxtouch4it/php8:php8.2-fpm-nginx-dev(开发版)touch4it/php8:php8.3-fpm-nginxtouch4it/php8:php8.3-fpm-nginx-dev(开发版)-dev)及生产构建方案,满足不同阶段需求。通过 docker-compose.yml 快速启动开发环境:
www: image: touch4it/php8:php8.2-fpm-nginx # 选择合适的标签 volumes: - ./app:/var/www/html/web # 挂载本地代码目录到容器 ports: - "80:80" # 映射端口(宿主机:容器) # 可选:添加数据库、缓存等关联服务 # depends_on: # - db # db: # image: mysql:8.0
启动命令:
docker-compose up -d
挂载自定义配置文件(PHP、PHP-FPM、Nginx)以覆盖默认配置:
www: image: touch4it/php8:php8.2-fpm-nginx volumes: - ./app:/var/www/html/web # 应用代码 - ./php.ini:/usr/local/etc/php/conf.d/docker-vars.ini # PHP 自定义配置 - ./[***] # PHP-FPM 配置 - ./nginx.conf:/etc/nginx/nginx.conf # Nginx 主配置 - ./nginx.vh.default.conf:/etc/nginx/conf.d/default.conf # Nginx 虚拟主机配置 ports: - "80:80"
基于该镜像构建包含应用代码的生产镜像:
FROM touch4it/php8:latest # 使用最新稳定版标签 ADD ./app /var/www/html # 复制应用代码到容器 # 可选:安装依赖、配置权限等 # RUN composer install --no-dev --optimize-autoloader
构建命令:
docker build -t my-php-app:prod .
通过环境变量自定义 PHP 及服务器参数,无需修改配置文件:
| 环境变量 | 说明 | 默认值 | 适用范围 |
|---|---|---|---|
ADMIN_EMAIL | Apache 服务器错误页面中的管理员***(ServerAdmin 指令) | webmaster@localhost | Apache 镜像 |
PHP_TIME_ZONE | PHP 日期函数默认时区(对应 date.timezone) | Europe/London | 所有镜像 |
PHP_MEMORY_LIMIT | PHP 脚本内存限制(对应 memory_limit) | 256M | 所有镜像 |
PHP_UPLOAD_MAX_FILESIZE | 上传文件大小限制(对应 upload_max_filesize) | 32M | 所有镜像 |
PHP_POST_MAX_SIZE | POST 数据大小限制(对应 post_max_size) | 32M | 所有镜像 |
配置示例:
在 docker-compose.yml 中添加环境变量:
www: image: touch4it/php8:php8.3-apache environment: - PHP_TIME_ZONE=Asia/Shanghai - PHP_MEMORY_LIMIT=512M - ADMIN_EMAIL=*** # ... 其他配置
mod_rewrite:支持 URL 重写。mod_http2:支持 HTTP/2(Apache 2.4.26+ 镜像)。bcmath、exif、gd、gettext、intl、mbstring、opcache、pgsql、pdo、pdo_mysql、pdo_pgsql、zip。基于*** PHP 镜像构建,可使用 docker-php-ext-install 命令安装扩展:
FROM touch4it/php8:php8.3-fpm-nginx RUN docker-php-ext-install mysqli # 安装 mysqli 扩展
更多说明参考 *** PHP 镜像文档。
通过挂载自定义 *.ini 文件到容器的 $PHP_INI_DIR/conf.d 目录(通常为 /usr/local/etc/php/conf.d):
volumes: - ./my-php.ini:/usr/local/etc/php/conf.d/my-php.ini
my-php.ini 内容示例:
upload_max_filesize = 64M post_max_size = 64M
.htaccess 文件不生效?.htaccess 是 Apache 配置文件,Nginx 镜像不支持。若需 URL 重写,需在 Nginx 配置文件(如 default.conf)中添加 rewrite 规则。
php:8.3-apache 对应***版本)。touch4it/drupal-php-fpm-nginx([***]touch4it/php-nginx-symfony([***]免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429