
devilboxcommunity/php-fpmDevilbox PHP-FPM镜像是Devilbox开发环境生态的重要组成部分,基于PHP官方FPM(FastCGI Process Manager)实现,提供从PHP 5.6到8.4的多个稳定版本支持。该镜像旨在为开发、测试及本地运行环境提供轻量、灵活且预配置优化的PHP运行环境,便于快速搭建与应用程序版本匹配的PHP FPM服务,尤其适合需要在多PHP版本间切换测试的开发场景。
通过Docker Hub拉取指定版本的镜像,标签为PHP版本号(如5.6、7.4、8.4等):
bashdocker pull devilbox/php-fpm:8.4 # 拉取PHP 8.4版本 docker pull devilbox/php-fpm:7.2 # 拉取PHP 7.2版本
运行PHP-FPM容器并挂载本地PHP应用目录:
bash# 运行PHP 8.4 FPM,挂载当前目录下的PHP应用到容器内默认文档根目录 docker run -d \ --name devilbox-php-fpm-8.4 \ -v /path/to/your/php/app:/var/www/html \ # 挂载本地PHP应用目录 -p 9000:9000 \ # 暴露FPM默认端口(可选,通常与Nginx通过容器网络通信) devilbox/php-fpm:8.4
通过docker-compose.yml配置Nginx与PHP-FPM联动,实现完整Web服务:
yamlversion: '3' services: nginx: image: nginx:alpine ports: - "80:80" volumes: - /path/to/nginx/conf.d:/etc/nginx/conf.d # Nginx站点配置 - /path/to/your/php/app:/var/www/html # 共享PHP应用目录 depends_on: - php-fpm networks: - dev-network php-fpm: image: devilbox/php-fpm:8.4 volumes: - /path/to/your/php/app:/var/www/html # 与Nginx共享应用目录 networks: - dev-network networks: dev-network:
Nginx站点配置示例(保存到/path/to/nginx/conf.d/default.conf):
nginxserver { listen 80; server_name localhost; root /var/www/html; index index.php index.html; location ~ \.php$ { fastcgi_pass php-fpm:9000; # 连接php-fpm服务(容器名:端口) fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
可通过-e参数设置环境变量调整PHP-FPM行为:
PHP_INI_SCAN_DIR:自定义PHP配置文件扫描目录,默认包含/etc/php/{version}/fpm/conf.d,可添加额外目录(如/etc/php/custom.d)以加载自定义*.ini文件。PHP_FPM_USER:运行FPM进程的用户ID(UID),默认使用1000(普通用户),可根据宿主机用户ID调整以解决文件权限问题。PHP_FPM_GROUP:运行FPM进程的用户组ID(GID),默认与PHP_FPM_USER一致。示例:指定自定义用户ID运行FPM
bashdocker run -d \ --name devilbox-php-fpm-8.4 \ -e PHP_FPM_USER=1001 \ -e PHP_FPM_GROUP=1001 \ -v /path/to/php/app:/var/www/html \ devilbox/php-fpm:8.4
通过挂载自定义配置文件覆盖默认FPM或PHP配置:
/etc/php/{version}/fpm/php.ini(如/local/php.ini:/etc/php/8.4/fpm/php.ini)/etc/php/{version}/fpm/php-fpm.conf或/etc/php/{version}/fpm/pool.d/[***](FPM池配置)示例:挂载自定义PHP.ini和FPM池配置
bashdocker run -d \ --name devilbox-php-fpm-8.4 \ -v /local/php.ini:/etc/php/8.4/fpm/php.ini \ -v /local/[***] \ -v /path/to/php/app:/var/www/html \ devilbox/php-fpm:8.4
docker exec -it <container> php -m查看已安装扩展。-v挂载相同宿主机路径),并配置正确的FastCGI参数。


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