
本镜像提供PHP 7.4+环境,包含PHP、PHP-FPM及PHP-FPM-APACHE多种版本,集成Apache服务器、OPcache优化器、Xdebug调试工具(仅cli-dev版本)和内置Redis服务。支持通过环境变量灵活配置PHP、Apache、PHP-FPM、OPcache、Xdebug及Redis参数,同时提供Laravel/NSUtil框架的自动化操作(如数据库迁移、缓存清理等),适用于PHP应用的开发、测试与生产环境部署。
open_basedir限制、session.cookie_secure,日志重定向至stdout/stderrAUTORUN_ENABLED=true # 启用自动化操作(Laravel/NSUtil) AUTORUN_LARAVEL_MIGRATION=false # 自动执行Laravel数据库迁移 AUTORUN_LARAVEL_REFRESH_CACHE=false # 清理并重建Laravel缓存 AUTORUN_LARAVEL_STORAGE_LINK=false # 创建Laravel存储目录符号链接 AUTORUN_NSUTIL_CLEAR_CACHE=false # 清理NSUtil缓存 AUTORUN_NSUTIL_MIGRATION=false # 执行NSUtil数据库迁移 DEBIAN_FRONTEND=noninteractive # Debian环境配置(非交互模式) DOCKER_MAINTENER=seu_email # 镜像维护者邮箱 DOCKER_PASS=sua_senha # Docker Hub密码 DOCKER_USER=seu_usuario # Docker Hub用户名 EXTRA_OPEN_BASEDIR=/tmp # PHP额外允许访问的目录 LANG=en_US.UTF-8 # 语言配置 LANGUAGE=en_US:en # 语言配置 LC_ALL=en_US.UTF-8 # 语言配置 PUID=9999 # 容器用户ID PGID=9999 # 容器组ID S6_BEHAVIOUR_IF_STAGE2_FAILS=2 # S6进程管理失败行为(0=继续,1=重启,2=停止) S6_LOGGING=0 # S6日志控制(0=显示所有,1=隐藏) WEBUSER_HOME=/var/www/html # Web用户主目录
可通过 [***] 优化FPM和Apache配置
APACHE_DOCUMENT_ROOT=/var/www/html/api/ # Apache网站根目录 APACHE_HTTP_PROTOCOLS="h2 h2c http/1.1" # 支持的HTTP协议 APACHE_MAX_CONNECTIONS_PER_CHILD=0 # 子进程最大连接数 APACHE_MAX_REQUEST_WORKERS=50 # 最大并发工作进程数 APACHE_MAX_SPARE_THREADS=25 # 最大空闲线程数 APACHE_MIN_SPARE_THREADS=5 # 最小空闲线程数 APACHE_RUN_GROUP=webgroup # Apache运行组 APACHE_RUN_USER=webuser # Apache运行用户 APACHE_SERVER_ADMIN=webmaster@localhost # 服务器管理员邮箱 APACHE_SERVER_LIMIT=16 # 服务器数量限制 APACHE_SERVER_NAME=localhost # 服务器名称 APACHE_START_SERVERS=2 # 初始服务器数量 APACHE_THREAD_LIMIT=32 # 线程限制 APACHE_THREADS_PER_CHILD=25 # 每个子进程的线程数
PHP_DATE_TIMEZONE=UTC # PHP时区 PHP_DISPLAY_ERRORS=Off # 是否显示PHP错误 PHP_ERROR_REPORTING="E_ALL & ~E_NOTICE & ~E_STRICT" # PHP错误报告级别 PHP_MAX_EXECUTION_TIME=30 # 最大执行时间(秒) PHP_MEMORY_LIMIT=256M # PHP内存限制 PHP_PM_CONTROL=dynamic # 进程管理模式(static/dynamic/ondemand) PHP_PM_MAX_CHILDREN=86 # 最大子进程数 PHP_PM_MAX_SPARE_SERVERS=4 # 最大空闲服务器数 PHP_PM_MIN_SPARE_SERVERS=2 # 最小空闲服务器数 PHP_PM_START_SERVERS=4 # 初始服务器数 PHP_POOL_NAME=www # PHP-FPM池名称 PHP_POST_MAX_SIZE=20M # POST数据最大大小 PHP_UPLOAD_MAX_FILE_SIZE=20M # 文件上传最大大小
OPCACHE_ENABLE=1 # 启用OPcache OPCACHE_ENABLE_CLI=1 # 为CLI启用OPcache OPCACHE_FAST_SHUTDOWN=1 # 启用OPcache快速关闭 OPCACHE_INTERNED_STRINGS_BUFFER=8 # 内部字符串缓冲区大小(MB) OPCACHE_MAX_ACCELERATED_FILES=4000 # 最大加速文件数 OPCACHE_MEMORY_CONSUMPTION=128 # OPcache内存消耗(MB) OPCACHE_REVALIDATE_FREQ=600 # 重新验证频率(秒)
XDEBUG_CLIENT_HOST=host.docker.internal # Xdebug客户端主机(IDE) XDEBUG_CLIENT_PORT=9003 # Xdebug客户端端口(IDE) XDEBUG_DISCOVER_CLIENT_HOST=1 # 自动发现客户端主机(0=禁用,1=启用) XDEBUG_MODE=debug # Xdebug模式(debug,develop,coverage,profile,trace) XDEBUG_OUTPUT_DIR=/var/log/xdebug # Xdebug输出目录(日志和跟踪文件) XDEBUG_START_WITH_REQUEST=yes # 是否随请求启动(yes=启动,no=等待XDEBUG_TRIGGER触发)
每个镜像均包含Redis服务,可暴露本地端口。默认数据持久化目录为/var/lib/redis/data,如需持久化请映射卷。
REDIS_PORT=6379 # Redis端口 REDIS_MAXMEM=256mb # Redis最大内存 REDIS_PASSWORD="" # Redis密码(生产环境建议设置) REDIS_PERSIST=true # Redis持久化开关,true时数据将保存到磁盘
特定镜像变量:部分变量仅适用于特定镜像版本
覆盖默认值:可在容器启动时通过-e参数覆盖默认值:
bashdocker run -e PHP_MEMORY_LIMIT=512M -e REDIS_PASSWORD=secret ...
变量依赖关系:部分变量需配合配置
PHP_PM_CONTROL会影响其他PM相关变量的行为APACHE_THREAD_LIMIT需大于APACHE_THREADS_PER_CHILD安全配置:自动应用以下安全设置
open_basedir限制目录访问session.cookie_secure性能优化:默认配置针对生产环境优化
yamlservices: app: container_name: php_app hostname: your-hostname-to-container restart: always image: nextstage/php:${PHP_VERSION}-fpm-apache # 指定PHP版本和类型(如7.4-fpm-apache) ports: - 80:80 # 映射Apache端口 - 6379:6379 # 映射Redis端口(如需外部访问) volumes: - .:/var/www/html # 挂载应用代码 - ../persist/redis-data:/var/lib/redis/data # 持久化Redis数据 env_file: - ./.env # 从.env文件加载环境变量 extra_hosts: - "host.docker.internal:host-gateway" # 允许容器访问宿主机服务(如IDE的Xdebug)
以下是 nextstage/php 相关的常用 Docker 镜像,适用于 Web 开发、内容管理、传统应用 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务