wordpressdevelop/php本镜像是专为WordPress本地开发环境设计的PHP运行时环境,基于官方PHP镜像构建并针对WordPress开发需求优化。其核心用途是为开发者提供与WordPress官方推荐环境兼容的本地PHP运行环境,支持快速搭建、配置灵活,可无缝集成MySQL、Nginx等服务,降低本地开发环境搭建门槛。
从Docker Hub拉取指定PHP版本的镜像(以PHP 8.1为例):
bashdocker pull [镜像仓库地址]/wordpress-dev-php:8.1 # 替换为实际镜像仓库地址
镜像标签说明:
8.1:PHP 8.1版本(默认标签,包含常用扩展)8.1-xdebug:PHP 8.1版本,预装Xdebug扩展7.4:PHP 7.4版本(兼容旧版WordPress)通过docker run命令快速启动PHP环境,挂载本地WordPress代码目录:
bashdocker run -d \ --name wp-dev-php \ -p 9000:9000 \ # PHP-FPM端口(如需配合Nginx使用) -v /本地/wordpress代码目录:/var/www/html \ # 挂载本地WordPress代码 -e PHP_MEMORY_LIMIT=512M \ # 自定义PHP内存限制 -e PHP_UPLOAD_MAX_FILESIZE=64M \ # 自定义上传文件大小限制 [镜像仓库地址]/wordpress-dev-php:8.1
通过Docker Compose组合PHP、MySQL、Nginx服务,形成完整开发环境。创建docker-compose.yml文件:
yamlversion: '3.8' services: php: image: [镜像仓库地址]/wordpress-dev-php:8.1-xdebug volumes: - ./wordpress:/var/www/html # 本地WordPress代码目录 - ./php.ini:/usr/local/etc/php/conf.d/custom.ini # 挂载自定义PHP配置 environment: - PHP_MEMORY_LIMIT=512M - XDEBUG_MODE=debug # 启用Xdebug调试模式 - XDEBUG_CLIENT_HOST=host.docker.internal # 本地IDE地址(Windows/macOS) - XDEBUG_CLIENT_PORT=9003 # Xdebug监听端口(需与IDE配置一致) - WORDPRESS_DB_HOST=db:3306 # 数据库服务地址(关联下方db服务) depends_on: - db db: image: mysql:8.0 volumes: - db_data:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=rootpass - MYSQL_DATABASE=wordpress - MYSQL_USER=wpuser - MYSQL_PASSWORD=wppass nginx: image: nginx:alpine ports: - "80:80" volumes: - ./wordpress:/var/www/html - ./nginx.conf:/etc/nginx/conf.d/default.conf # Nginx配置(需指向PHP-FPM) depends_on: - php volumes: db_data:
启动服务:
bashdocker-compose up -d
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
PHP_MEMORY_LIMIT | PHP内存限制 | 256M |
PHP_UPLOAD_MAX_FILESIZE | 单文件上传大小限制 | 16M |
PHP_POST_MAX_SIZE | POST数据总大小限制 | 20M |
PHP_MAX_EXECUTION_TIME | 脚本最大执行时间(秒) | 30 |
PHP_INI_SCAN_DIR | PHP配置文件扫描目录(用于挂载自定义配置) | /usr/local/etc/php/conf.d |
XDEBUG_MODE | Xdebug运行模式(debug/develop/off) | off(仅xdebug标签镜像支持) |
XDEBUG_CLIENT_HOST | Xdebug调试客户端IP/主机名 | host.docker.internal |
XDEBUG_CLIENT_PORT | Xdebug调试客户端端口 | 9003 |
WORDPRESS_DB_HOST | WordPress数据库主机地址(供代码中调用) | db:3306 |
直接通过-e参数传递PHP.ini参数(仅支持部分常用参数,见环境变量说明)。
创建本地custom.ini文件,添加自定义配置:
ini; custom.ini display_errors = On error_reporting = E_ALL max_input_vars = 5000
挂载到容器的PHP配置扫描目录:
bash-v /本地/custom.ini:/usr/local/etc/php/conf.d/custom.ini
如需远程调试(如配合VS Code、PHPStorm),需确保:
-xdebug(如8.1-xdebug)XDEBUG_MODE=debugXDEBUG_CLIENT_HOST指向本地IDE所在IP(Windows/macOS可直接使用host.docker.internal,Linux需手动指定宿主机IP)PHPStorm配置示例:
XDEBUG_CLIENT_PORT一致)/本地/wordpress代码目录映射到容器/var/www/htmldisplay_errors=On),但需避免将包含敏感配置的镜像提交到公开仓库。opcache.enable=On配置)。docker-compose.yml中的db_data卷)。docker ps检查已运行容器。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务