本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

本Docker镜像(jakzal/phpqa)是一个集成了多种PHP静态分析与代码质量工具的环境,旨在为PHP项目提供便捷、一致的代码质量检查解决方案。通过Docker容器化技术,用户无需在本地或服务器环境中手动安装和配置各类工具,即可快速进行代码静态分析、代码风格检查、漏洞检测等质量保障工作。该镜像广泛适用于本地开发、CI/CD流程及多项目统一质量标准场景。
包含多种主流PHP代码质量与静态分析工具,主要包括:
8.3、8.2、8.1)提供不同PHP版本环境,适配项目需求。php-cs-fixer fix)或静态类型分析(如phpstan analyze),提前发现问题。-v参数挂载)。通过docker run命令直接运行容器,挂载项目目录并执行目标工具。基本语法:
docker run --rm -v $(pwd):/app jakzal/phpqa:<tag> <tool> [arguments]
--rm:容器退出后自动删除,避免残留临时容器。-v $(pwd):/app:将当前目录(项目根目录)挂载到容器内的/app目录(工具默认工作目录)。<tag>:指定PHP版本标签(如8.3、8.2,默认标签为最新稳定PHP版本)。<tool>:目标工具名称(如phpstan、psalm、phpcs等)。[arguments]:工具运行参数(如分析目录、配置文件路径等)。分析项目src目录,使用本地phpstan.neon配置:
docker run --rm -v $(pwd):/app jakzal/phpqa:8.3 phpstan analyze src --configuration=phpstan.neon
修复当前目录下所有PHP文件的代码风格,使用本地.php-cs-fixer.php配置:
docker run --rm -v $(pwd):/app jakzal/phpqa:8.3 php-cs-fixer fix --config=.php-cs-fixer.php
分析src目录,输出XML格式报告:
docker run --rm -v $(pwd):/app jakzal/phpqa:8.3 phpmd src xml cleancode,codesize,controversial,design,naming,unusedcode
通过docker-compose.yml定义服务,简化多工具组合使用或频繁调用场景:
version: '3.8' services: phpqa: image: jakzal/phpqa:8.3 volumes: - ./:/app # 挂载项目目录 - ./phpstan.neon:/app/phpstan.neon # 挂载工具配置文件(可选) - ./vendor:/app/vendor # 挂载Composer依赖(加速分析,可选) working_dir: /app # 容器工作目录 # 可添加环境变量(如工具缓存目录) environment: - PHPQA_CACHE_DIR=/app/.phpqa-cache # 工具缓存路径(需本地创建目录)
使用时通过docker-compose run执行工具:
docker-compose run --rm phpqa psalm --show-info=true
镜像支持部分环境变量自定义工具行为(具体以镜像最新版本为准):
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
PHPQA_CACHE_DIR | 工具缓存目录(如PHPStan、Psalm缓存) | /tmp/phpqa-cache |
COMPOSER_HOME | Composer配置与缓存目录 | /tmp/composer |
PHP_INI_DIR | PHP配置文件目录(自定义php.ini) | /usr/local/etc/php |
大部分工具依赖项目内的配置文件(如phpstan.neon、.php-cs-fixer.php、psalm.xml),需确保配置文件通过-v挂载到容器内的/app目录(即项目根目录)。例如:
# 挂载本地phpstan.neon到容器内,使PHPStan使用自定义规则 docker run --rm -v $(pwd):/app -v $(pwd)/phpstan.neon:/app/phpstan.neon jakzal/phpqa:8.3 phpstan analyze
root用户运行工具,可能导致生成的缓存文件/修复后的文件权限为root。本地开发时可通过-u $(id -u):$(id -g)参数指定当前用户ID,避免权限冲突:
docker run --rm -u $(id -u):$(id -g) -v $(pwd):/app jakzal/phpqa:8.3 php-cs-fixer fix
jakzal/phpqa@sha256:...)。vendor目录中的类定义,建议挂载本地vendor目录(或在容器内运行composer install)以确保分析准确性。免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429