
lightswitch05/php-version-auditPHP Version Audit 是一款便捷工具,用于轻松检查特定 PHP 版本是否存在定期更新的 CVE 漏洞、最新发布版本及生命周期结束(EOL)日期。它可帮助用户了解 PHP 版本的安全状态、支持阶段和更新情况,但并非漏洞检测/缓解工具、厂商特定版本跟踪工具,也不能替代对 PHP 发布和安全漏洞的主动关注。
--fail-security 标志在发现 CVE 或安全支持结束时返回非零退出码bashdocker run --rm -t lightswitch05/php-version-audit:latest --version=8.0.12
输出示例(JSON 格式):
json{ "auditVersion": "8.0.12", "hasVulnerabilities": true, "hasSecuritySupport": true, "hasActiveSupport": true, "isLatestPatchVersion": false, "isLatestMinorVersion": false, "isLatestVersion": false, "latestPatchVersion": "8.0.14", "latestMinorVersion": "8.1.1", "latestVersion": "8.1.1", "activeSupportEndDate": "2022-11-26T00:00:00+0000", "securitySupportEndDate": "2023-11-26T00:00:00+0000", "rulesLastUpdatedDate": "2022-01-18T02:13:52+0000", "vulnerabilities": { "CVE-2021-21707": { "id": "CVE-2021-21707", "baseScore": 5.3, "publishedDate": "2021-11-29T07:15:00+0000", "lastModifiedDate": "2022-01-04T16:12:00+0000", "description": "在 PHP 7.3.x 低于 7.3.33、7.4.x 低于 7.4.26 和 8.0.x 低于 8.0.13 版本中,某些 XML 解析函数(如 simplexml_load_file())会对传入的文件名进行 URL 解码。若文件名包含 URL 编码的 NUL 字符,可能导致函数将其解释为文件名结束,从而读取与用户预期不同的文件。" } } }
Docker 是使用该工具的推荐方式,简单快捷。
bashdocker run --rm -t lightswitch05/php-version-audit:latest --version=8.1.1
通过命令替换获取主机 PHP 版本并检查:
bashdocker run --rm -t lightswitch05/php-version-audit:latest --version=$(php -r 'echo phpversion();')
在需要通过 HTTPS 代理访问外部网络时,需配置代理环境变量并挂载可信证书目录(证书文件需带 .crt 扩展名,参考 update-ca-certificates 工具说明):
bashdocker run --rm -t \ -e https_proxy='[***] \ --volume /full/path/to/trusted/certs/directory:/usr/local/share/ca-certificates \ lightswitch05/php-version-audit:latest --version=8.1.1
| 参数 | 描述 |
|---|---|
--help | 显示帮助信息并退出 |
--version=PHP_VERSION | 指定要检查的 PHP 版本(Docker 运行时必填,默认使用运行时版本) |
--fail-security | 若发现 CVE 漏洞或安全支持已结束,返回退出码 10 |
--fail-support | 若版本不再获得主动(bug)支持,返回退出码 20 |
--fail-patch | 若存在更新的补丁版本,返回退出码 30 |
--fail-latest | 若存在更新的主要版本,返回退出码 40 |
--no-update | 不下载最新规则(不推荐,可能导致信息过时) |
--silent | 不在 STDERR 输出错误信息 |
--v | 增加详细程度(-v 警告、-vv 信息、-vvv 调试),默认仅输出错误 |
工具输出为 JSON 格式,包含以下关键信息字段:
auditVersion: 被审计的 PHP 版本号hasVulnerabilities: 是否存在已知 CVE 漏洞(布尔值)hasSecuritySupport: 是否仍在安全支持期内(布尔值)hasActiveSupport: 是否仍在主动(bug)支持期内(布尔值)isLatestPatchVersion: 是否为最新补丁版本(如 7.3.x 的最新补丁)isLatestMinorVersion: 是否为最新次要版本(如 7.x 的最新版本)isLatestVersion: 是否为最新 PHP 版本latestPatchVersion: 最新补丁版本号latestMinorVersion: 最新次要版本号latestVersion: 最新 PHP 版本号activeSupportEndDate: 主动支持结束日期(ISO8601 格式,null 表示未知)securitySupportEndDate: 安全支持结束日期(ISO8601 格式)rulesLastUpdatedDate: 规则最后更新日期(ISO8601 格式,每天更新两次)vulnerabilities: CVE 漏洞详情对象,键为 CVE ID,值包含漏洞评分、日期及描述




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