chialab/php-dev本镜像基于 官方 PHP 镜像 构建,通过 mlocati/docker-php-extension-installer 添加了常用扩展,专门用于PHP 应用的开发调试环境。镜像托管于 Docker Hub,通过自动化构建机制保持更新,确保包含官方 PHP 镜像的最新安全补丁。
注意:本镜像仅用于开发调试,生产环境建议使用 无 XDebug 的版本。
在官方 PHP 镜像基础上,额外预装以下扩展(按 PHP 版本兼容情况标注):
bcmathbz2calendarexifgdiconvintlldapmbstringmcrypt(仅支持 PHP ≤ 7.1)memcachedmysql(仅支持 PHP 5.x)mysqlipdo_mysqlpdo_pgsqlpgsqlredissoapsocketsxdebug(调试工具,需手动配置)xslZend OPcachezip适用于需要快速搭建 PHP 开发环境的场景,尤其适合:
不建议用于生产环境,生产环境请选择精简版镜像以减少***面。
所有标签基于对应版本的官方 PHP 镜像构建,支持以下标签:
latest(默认最新版本)5.6、5.6-apache、5.6-fpm7.0、7.0-apache、7.0-fpm7.1、7.1-apache、7.1-fpm7.2、7.2-apache、7.2-fpm7.3、7.3-apache、7.3-fpm7.4、7.4-apache、7.4-fpm8.0、8.0-apache、8.0-fpm以 PHP 8.0 Apache 版本为例,启动开发服务:
bashdocker run -d -p 80:80 -v $(pwd):/var/www/html chialab/php-dev:8.0-apache
-v $(pwd):/var/www/html:将当前目录挂载到容器内 Apache 网站根目录-p 80:80:映射容器 80 端口到主机 80 端口创建 docker-compose.yml:
yamlversion: '3' services: php-dev: image: chialab/php-dev:8.0-apache ports: - "80:80" volumes: - ./src:/var/www/html # 本地代码目录挂载 environment: - PHP_INI_SCAN_DIR=/usr/local/etc/php/conf.d # PHP 配置扫描目录
启动服务:
bashdocker-compose up -d
XDebug 已预装但未默认配置,需通过 Apache 或 Nginx 配置启用远程调试等功能。
在目标目录的 Apache 配置中添加 php_value 参数:
apache# 例如在 .htaccess 或虚拟主机配置中 php_value xdebug.remote_enable 1 # 启用远程调试 php_value xdebug.remote_host 192.168.99.1 # 主机 IP(根据实际网络调整) php_value xdebug.remote_port 9003 # 调试端口(默认 9003)
在 Nginx 配置中通过 fastcgi_param 传递 PHP 配置:
nginxlocation ~ \.php$ { fastcgi_pass php-dev:9000; # 指向 FPM 服务(需与容器名匹配) fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # XDebug 配置 fastcgi_param PHP_VALUE "xdebug.remote_enable=1\nxdebug.remote_host=192.168.99.1\nxdebug.remote_port=9003"; include fastcgi_params; }
若无需部分预装扩展,建议克隆 GitHub 仓库,修改 Dockerfile 移除不需要的扩展后重新构建:
bashgit clone [***] cd docker-php # 编辑 Dockerfile,移除不需要的扩展安装命令 docker build -t my-php-dev .
make build 和 make test,并遵循 Dockerfile 最佳实践。本项目基于 MIT 许可证 开源。


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