
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本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 点赞支持。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务