
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
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 快速启动开发环境:
yamlwww: image: touch4it/php8:php8.2-fpm-nginx # 选择合适的标签 volumes: - ./app:/var/www/html/web # 挂载本地代码目录到容器 ports: - "80:80" # 映射端口(宿主机:容器) # 可选:添加数据库、缓存等关联服务 # depends_on: # - db # db: # image: mysql:8.0
启动命令:
bashdocker-compose up -d
挂载自定义配置文件(PHP、PHP-FPM、Nginx)以覆盖默认配置:
yamlwww: 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 自定义配置 - ./www.conf:/usr/local/etc/php-fpm.d/www.conf # PHP-FPM 配置 - ./nginx.conf:/etc/nginx/nginx.conf # Nginx 主配置 - ./nginx.vh.default.conf:/etc/nginx/conf.d/default.conf # Nginx 虚拟主机配置 ports: - "80:80"
基于该镜像构建包含应用代码的生产镜像:
dockerfileFROM touch4it/php8:latest # 使用最新稳定版标签 ADD ./app /var/www/html # 复制应用代码到容器 # 可选:安装依赖、配置权限等 # RUN composer install --no-dev --optimize-autoloader
构建命令:
bashdocker 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 中添加环境变量:
yamlwww: image: touch4it/php8:php8.3-apache environment: - PHP_TIME_ZONE=Asia/Shanghai - PHP_MEMORY_LIMIT=512M - ADMIN_EMAIL=admin@example.com # ... 其他配置
Apache 模块(Apache 镜像)
mod_rewrite:支持 URL 重写。mod_http2:支持 HTTP/2(Apache 2.4.26+ 镜像)。PHP 扩展(所有镜像)
bcmath、exif、gd、gettext、intl、mbstring、opcache、pgsql、pdo、pdo_mysql、pdo_pgsql、zip。基于官方 PHP 镜像构建,可使用 docker-php-ext-install 命令安装扩展:
dockerfileFROM touch4it/php8:php8.3-fpm-nginx RUN docker-php-ext-install mysqli # 安装 mysqli 扩展
更多说明参考 https://hub.docker.com/_/php/%E3%80%82
通过挂载自定义 *.ini 文件到容器的 $PHP_INI_DIR/conf.d 目录(通常为 /usr/local/etc/php/conf.d):
yamlvolumes: - ./my-php.ini:/usr/local/etc/php/conf.d/my-php.ini
my-php.ini 内容示例:
iniupload_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(https://hub.docker.com/r/touch4it/drupal-php-fpm-nginx%EF%BC%89%E3%80%82touch4it/php-nginx-symfony(https://hub.docker.com/r/touch4it/php-nginx-symfony%EF%BC%89%E3%80%82您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务