
本Docker镜像旨在集成多种PHP代码质量工具,提供便捷的使用方式。通过该镜像,用户可进行PHP静态分析、代码行数统计、代码异味检测、复制粘贴检测、PHP版本兼容性检查等,助力现代化项目的代码质量评估与改进。
镜像已在Docker Hub和GitHub Container Repository发布,方便直接获取使用。
镜像包含以下PHP代码质量工具:
适用于需要对PHP项目进行代码质量评估的开发团队和个人开发者,尤其适合:
注意:直接运行镜像无任何操作,需在命令后添加具体工具命令(见下方示例)。
Docker Hub 拉取使用
bashcd </path/to/desired/directory> docker run -it --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp \ adamculp/php-code-quality:latest <followup-command-with-arguments>
GitHub Container Repository 拉取使用
bashcd </path/to/your/project> docker run -it --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp \ ghcr.io/adamculp/php-code-quality:latest <followup-command-with-arguments>
Windows 用户注意事项
$PWD(当前工作目录)在Windows中无法正常使用,需替换为完整路径,例如 "//c/Users/adamculp/project"。
镜像提供以下可执行命令:
sh(或其他shell命令)+ 参数php + 参数composer + 参数vendor/bin/<工具命令> + 参数(如 vendor/bin/phpstan)重要:若直接使用以下命令,请先在项目中创建 php_code_quality 文件夹,用于存放工具运行结果。可根据需求修改路径。
内存问题处理:若工具提示内存不足,可通过 -d 标志调整PHP内存限制(镜像默认已设置为512M,以下为极端情况示例):
bashphp -d memory_limit=1G
PHPStan(静态分析)
详细使用文档:PHPStan Documentation
bashdocker run -it --rm --name php-code-quality -v "$PWD":/usr/src/myapp -w /usr/src/myapp \ adamculp/php-code-quality:latest sh -c 'php /usr/local/lib/php-code-quality/vendor/bin/phpstan \ analyse -l 0 --error-format=table > ./php_code_quality/phpstan_results.txt .'
PHP Codesniffer (phpcs)(代码规范检查)
详细使用文档:https://github.com/squizlabs/PHP_CodeSniffer/wiki
以下命令使用PSR-12标准(默认使用PEAR标准):
bashdocker run -it --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp adamculp/php-code-quality:latest \ php /usr/local/lib/php-code-quality/vendor/bin/phpcs -sv --standard=PSR12 \ --extensions=php --ignore=vendor --report-file=./php_code_quality/codesniffer_results.txt .
PHPCompatibility(PHP版本兼容性检查)
结合PHP Codesniffer使用,详细文档:https://github.com/PHPCompatibility/PHPCompatibility%E3%80%81https://github.com/squizlabs/PHP_CodeSniffer/wiki
需先加载PHPCompatibility规则:
bashdocker run -it --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp adamculp/php-code-quality:latest sh -c \ 'php /usr/local/lib/php-code-quality/vendor/bin/phpcs -sv --config-set installed_paths /usr/local/lib/php-code-quality/vendor/phpcompatibility/php-compatibility && \ php /usr/local/lib/php-code-quality/vendor/bin/phpcs -sv --standard='PHPCompatibility' --extensions=php --ignore=vendor \ --report-file=./php_code_quality/phpcompatibility_results.txt .'
PHPLoc(代码行数统计)
详细使用文档:https://github.com/sebastianbergmann/phploc
bashdocker run -it --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp adamculp/php-code-quality:latest \ php /usr/local/lib/php-code-quality/vendor/bin/phploc \ --exclude vendor . > ./php_code_quality/phploc.txt
PHPMD(代码异味检测)
注意:当前工具可能存在错误,详见 https://github.com/phpmd/phpmd/issues/919%E3%80%82
详细使用文档:https://github.com/phpmd/phpmd
bashdocker run -it --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp adamculp/php-code-quality:latest \ php /usr/local/lib/php-code-quality/vendor/bin/phpmd . xml codesize --exclude 'vendor' \ --reportfile './php_code_quality/phpmd_results.xml'
Pdepend(代码依赖分析)
注意:当前工具可能存在错误,详见 https://github.com/phpmd/phpmd/issues/919%EF%BC%9B%E5%8F%AF%E8%83%BD%E9%9C%80%E8%A6%81Tidelift%E8%AE%A2%E9%98%85%E3%80%82
详细使用文档:PDepend Docs
bashdocker run -it --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp adamculp/php-code-quality:latest \ php /usr/local/lib/php-code-quality/vendor/bin/pdepend --ignore='vendor' \ --summary-xml='./php_code_quality/pdepend_output.xml' \ --jdepend-chart='./php_code_quality/pdepend_chart.svg' \ --overview-pyramid='./php_code_quality/pdepend_pyramid.svg' .
PHPCPD(复制粘贴检测)
详细使用文档:https://github.com/sebastianbergmann/phpcpd
bashdocker run -it --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp adamculp/php-code-quality:latest \ php /usr/local/lib/php-code-quality/vendor/bin/phpcpd . \ --exclude 'vendor' > ./php_code_quality/phpcpd_results.txt
PHPMetrics(代码指标分析)
详细使用文档:PHPMetrics
bashdocker run -it --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp adamculp/php-code-quality:latest \ php /usr/local/lib/php-code-quality/vendor/bin/phpmetrics --excluded-dirs 'vendor' \ --report-html=./php_code_quality/metrics_results .
若需自定义PHP版本或工具版本,可克隆仓库并本地构建镜像:
bashgit clone https://github.com/adamculp/php-code-quality.git cd php-code-quality
根据需求调整Dockerfile中的PHP版本或工具版本。
bashdocker build -t adamculp/php-code-quality .
或直接拉取仓库构建(无需克隆):
bashdocker build -t adamculp/php-code-quality https://github.com/adamculp/php-code-quality.git
若觉得本镜像有帮助,欢迎在 https://hub.docker.com/repository/docker/adamculp/php-code-quality%E3%80%81https://github.com/adamculp/php-code-quality/pkgs/container/php-code-quality 或 https://github.com/adamculp/php-code-quality 点赞支持。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务