jakzal/phpqa
GitHub: jakzal/phpqa
提供一站式 PHP 静态分析与代码质量工具的 Docker 镜像,免去了开发者逐个安装和配置各类 QA 工具的麻烦。
Stars: 1318 | Forks: 67
# PHP 静态分析工具
提供 PHP 静态分析工具的 Docker 镜像。
可用工具列表和安装程序实际上是在 [`jakzal/toolbox` 仓库](https://github.com/jakzal/toolbox)中管理的。
[](https://github.com/jakzal/phpqa/actions) [](https://hub.docker.com/r/jakzal/phpqa/)
## 支持的平台和 PHP 版本
Docker hub 仓库:https://hub.docker.com/r/jakzal/phpqa/
### Debian
* `latest`, `debian` ([Dockerfile](https://github.com/jakzal/phpqa/blob/master/Dockerfile))
* `1.123.5`, `1.123`, `1.123.5-debian`, `1.123-debian` ([Dockerfile](https://github.com/jakzal/phpqa/blob/v1.123.5/Dockerfile))
* `1.123.5-php8.3`, `1.123-php8.3`, `php8.3-debian`, `php8.3` ([Dockerfile](https://github.com/jakzal/phpqa/blob/v1.123.5/Dockerfile))
* `1.123.5-php8.4`, `1.123-php8.4`, `php8.4-debian`, `php8.4` ([Dockerfile](https://github.com/jakzal/phpqa/blob/v1.123.5/Dockerfile))
* `1.123.5-php8.5`, `1.123-php8.5`, `php8.5-debian`, `php8.5` ([Dockerfile](https://github.com/jakzal/phpqa/blob/v1.123.5/Dockerfile))
### Alpine
* `alpine` ([Dockerfile](https://github.com/jakzal/phpqa/blob/master/Dockerfile))
* `1.123.5-alpine`, `1.123-alpine`, ([Dockerfile](https://github.com/jakzal/phpqa/blob/v1.123.5/Dockerfile))
* `1.123.5-php8.3-alpine`, `1.123-php8.3-alpine`, `php8.3-alpine` ([Dockerfile](https://github.com/jakzal/phpqa/blob/v1.123.5/Dockerfile))
* `1.123.5-php8.4-alpine`, `1.123-php8.4-alpine`, `php8.4-alpine` ([Dockerfile](https://github.com/jakzal/phpqa/blob/v1.123.5/Dockerfile))
* `1.123.5-php8.5-alpine`, `1.123-php8.5-alpine`, `php8.5-alpine` ([Dockerfile](https://github.com/jakzal/phpqa/blob/v1.123.5/Dockerfile))
每日更新:`latest`, `debian`, `alpine`, `php8.5`, `php8.5-alpine` 等。
补丁版本变更时更新:`1.61`, `1.61-php8.5`, `1.61-php8.5-alpine` 等。
从不更新:`1.61.0`, `1.61.0-php8.5`, `1.61.0-php8.5-alpine` 等。
### 旧版
这些是不再受支持的 PHP 版本的最新标签:
- `1.122.10-php8.2`, `1.122-php8.2`, `php8.2-debian`, `php8.2` ([Dockerfile](https://github.com/jakzal/phpqa/blob/v1.122.10/Dockerfile))
- `1.122.10-php8.2-alpine`, `1.122-php8.2-alpine`, `php8.2-alpine` ([Dockerfile](https://github.com/jakzal/phpqa/blob/v1.122.10/Dockerfile))
- `1.105.0-php8.1`, `1.105-php8.1`, `php8.1-debian`, `php8.1` ([Dockerfile](https://github.com/jakzal/phpqa/blob/v1.105.0/Dockerfile))
- `1.105.0-php8.1-alpine`, `1.105-php8.1-alpine`, `php8.1-alpine` ([Dockerfile](https://github.com/jakzal/phpqa/blob/v1.105.0/Dockerfile))
- `1.92.7-php8.0`, `1.93-php8.0`, `php8.0-debian`, `php8.0` ([Dockerfile](https://github.com/jakzal/phpqa/blob/v1.92.7/Dockerfile))
- `1.92.7-php8.0-alpine`, `1.93-php8.0-alpine`, `php8.0-alpine` ([Dockerfile](https://github.com/jakzal/phpqa/blob/v1.92.7/Dockerfile))
- `1.80.0-php7.4`, `1.80-php7.4`, `php7.4-debian`, `php7.4` ([Dockerfile](https://github.com/jakzal/phpqa/blob/v1.80.0/Dockerfile))
- `1.80.0-php7.4-alpine`, `1.80-php7.4-alpine`, `php7.4-alpine` ([Dockerfile](https://github.com/jakzal/phpqa/blob/v1.80.0/Dockerfile))
- `1.61.2-php7.3`, `1.61-php7.3`, `php7.3-debian`, `php7.3` ([debian/Dockerfile](https://github.com/jakzal/phpqa/blob/v1.61.2/debian/Dockerfile))
- `1.61.2-php7.3-alpine`, `1.61-php7.3-alpine`, `php7.3-alpine` ([alpine/Dockerfile](https://github.com/jakzal/phpqa/blob/v1.61.2/alpine/Dockerfile))
- `1.44.0-php7.2`, `1.44-php7.2`, `php7.2` ([7.2/debian/Dockerfile](https://github.com/jakzal/phpqa/blob/v1.44.0/7.2/debian/Dockerfile))
- `1.44.0-php7.2-alpine`, `1.44-php7.2-alpine`, `php7.2-alpine` ([7.2/alpine/Dockerfile](https://github.com/jakzal/phpqa/blob/v1.44.0/7.2/alpine/Dockerfile))
- `1.26.0-php7.1`, `1.26-php7.1`, `php7.1` ([7.1/debian/Dockerfile](https://github.com/jakzal/phpqa/blob/v1.26.0/7.1/debian/Dockerfile))
- `1.26.0-php7.1-alpine`, `1.26-php7.1-alpine`, `php7.1-alpine` ([7.1/alpine/Dockerfile](https://github.com/jakzal/phpqa/blob/v1.26.0/7.1/alpine/Dockerfile))
## 可用工具
| 名称 | 描述 | PHP 8.3 | PHP 8.4 | PHP 8.5 |
| :--- | :---------- | :------ | :------ | :------ |
| behat | [帮助测试业务期望](http://behat.org/) | ✅ | ✅ | ✅ |
| box | [快速、零配置的 PHAR 应用打包工具](https://github.com/humbug/box) | ✅ | ✅ | ✅ |
| churn | [发现适合重构的代码](https://github.com/bmitch/churn-php) | ✅ | ✅ | ✅ |
| codeception | [Codeception 是一个 BDD 风格的 PHP 测试框架](https://codeception.com/) | ✅ | ✅ | ❌ |
| composer | [PHP 的依赖管理器](https://getcomposer.org/) | ✅ | ✅ | ✅ |
| composer-bin-plugin | [用于在隔离位置安装 bin 依赖的 Composer 插件](https://github.com/bamarni/composer-bin-plugin) | ✅ | ✅ | ✅ |
| composer-lock-diff | [用于检查 composer update 后所发生更改的 Composer 插件](https://github.com/davidrjonas/composer-lock-diff) | ✅ | ✅ | ✅ |
| composer-normalize | [用于规范化 composer.json 文件的 Composer 插件](https://github.com/ergebnis/composer-normalize) | ✅ | ✅ | ✅ |
| composer-require-checker | [验证包的源代码中是否使用了未知的符号。](https://github.com/maglnet/ComposerRequireChecker) | ❌ | ✅ | ✅ |
| composer-require-checker-3 | [验证包的源代码中是否使用了未知的符号。](https://github.com/maglnet/ComposerRequireChecker) | ✅ | ✅ | ✅ |
| composer-unused | [通过扫描代码显示未使用的包](https://github.com/icanhazstring/composer-unused) | ✅ | ✅ | ✅ |
| cyclonedx-php-composer | [用于生成 CycloneDX 格式软件物料清单 (SBOM) 的 Composer 插件](https://github.com/CycloneDX/cyclonedx-php-composer) | ✅ | ✅ | ✅ |
| dephpend | [检测架构中的缺陷](https://dephpend.com/) | ✅ | ✅ | ✅ |
| deprecation-detector | [查找已弃用代码的用法](https://github.com/sensiolabs-de/deprecation-detector) | ✅ | ✅ | ✅ |
| deptrac | [强制执行软件层之间的依赖规则](https://github.com/deptrac/deptrac) | ✅ | ✅ | ✅ |
| diffFilter | [应用 QA 工具针对单个 pull request 运行](https://github.com/exussum12/coverageChecker) | ✅ | ✅ | ✅ |
| ecs | [设置并运行编码标准检查](https://github.com/Symplify/EasyCodingStandard) | ✅ | ✅ | ✅ |
| gherkin-lint-php | [PHP 的 Gherkin linter](https://github.com/dantleech/gherkin-lint-php) | ✅ | ✅ | ✅ |
| infection | [基于 AST 的 PHP 变异测试框架](https://infection.github.io/) | ✅ | ✅ | ✅ |
| jack | [帮助以增量的方式升级过时的 Composer 依赖](https://github.com/rectorphp/jack) | ✅ | ✅ | ✅ |
| kahlan | [Kahlan 是一个功能齐全的单元测试和 BDD 测试框架,类似于 RSpec/JSpec](https://kahlan.github.io/docs/) | ✅ | ✅ | ✅ |
| larastan | [Laravel 的 PHPStan 扩展](https://github.com/nunomaduro/larastan) | ✅ | ✅ | ✅ |
| lines | [用于快速获取 PHP 项目指标的 CLI 工具](https://github.com/tomasVotruba/lines) | ✅ | ✅ | ✅ |
| local-php-security-checker | [检查 composer 依赖项是否存在已知的安全漏洞](https://github.com/fabpot/local-php-security-checker) | ✅ | ✅ | ✅ |
| parallel-lint | [检查 PHP 文件语法](https://github.com/php-parallel-lint/PHP-Parallel-Lint) | ✅ | ✅ | ✅ |
| paratest | [PHPUnit 的并行测试](https://github.com/paratestphp/paratest) | ✅ | ✅ | ✅ |
| pdepend | [静态分析工具](https://pdepend.org/) | ✅ | ✅ | ✅ |
| phan | [静态分析工具](https://github.com/phan/phan) | ✅ | ✅ | ✅ |
| phive | [PHAR 安装和验证环境](https://phar.io/) | ✅ | ✅ | ✅ |
| php-cs-fixer | [PHP 编码标准修复工具](http://cs.symfony.com/) | ✅ | ✅ | ✅ |
| php-fuzzer | [PHP 的 fuzzer,可用于通过向库输入“随机”数据来发现 bug](https://github.com/nikic/PHP-Fuzzer) | ✅ | ✅ | ✅ |
| php-semver-checker | [根据语义化版本控制建议下一个版本](https://github.com/tomzx/php-semver-checker) | ✅ | ✅ | ✅ |
| phpa | [检查薄弱的假设](https://github.com/rskuipers/php-assumptions) | ✅ | ✅ | ✅ |
| phparkitect | [帮助在 PHP 代码库中施加架构约束](https://github.com/phparkitect/arkitect) | ✅ | ✅ | ✅ |
| phpat | [易于使用的架构测试工具](https://github.com/carlosas/phpat) | ✅ | ✅ | ✅ |
| phpbench | [PHP 基准测试框架](https://github.com/phpbench/phpbench) | ✅ | ✅ | ✅ |
| phpca | [查找非内置扩展的使用情况](https://github.com/wapmorgan/PhpCodeAnalyzer) | ✅ | ✅ | ✅ |
| phpcb | [PHP 代码浏览器](https://github.com/mayflower/PHP_CodeBrowser) | ✅ | ✅ | ✅ |
| phpcbf | [自动纠正编码标准违规](https://github.com/PHPCSStandards/PHP_CodeSniffer) | ✅ | ✅ | ✅ |
| phpcodesniffer-composer-install | [轻松安装 PHP_CodeSniffer 编码标准 (规则集)。](
标签:Docker, LLM防护, OpenVAS, PHP, SOC Prime, 云安全监控, 安全专业人员, 安全防御评估, 开发工具, 请求拦截, 静态分析