PHP 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,值包含漏洞评分、日期及描述来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429