在 windows.php.net 上修复 PHP2Shell

windows.php.net 自己构建 PHP 软件包。修复包可能沿用较旧的版本号,只是加进了补丁,所以请对照下表里的软件包版本,别去找 8.4.27。

逐个版本

发行版本状态修复包安全公告
8.5.12 (vs17), 8.4.27 (vs17)已有修复包TS 和 NTS,x64 和 x86,例如 php-8.5.12-nts-Win32-vs17-x64.zip。列表时间 13:47-13:49。有 SBOM/VEX 文件和 sha256sum.txt。8.5.12 / 8.4.27–2026-10-21
8.3.36 (vs16), 8.2.35 (vs16)已有修复包布局相同。8.3.36 / 8.2.35–2026-10-21
8.1.34, 8.0.30, 7.4.33暂无修复8.1 的最新版本是 8.1.34(2025-12-16),没有修补,只有源码反向移植分支。––

确认修复已安装

php -v  # expect 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 or newer; verify zip hash against sha256sum.txt

重启 PHP

安装软件包只会替换磁盘上的文件,已经在运行的 PHP 进程仍然用旧代码。

iisreset  # IIS/FastCGI; or: net stop Apache2.4 && net start Apache2.4 (service name may differ)

如果你的版本还没有修复

关注你所用版本的安全公告,更新一出来就当天安装。在那之前,先判断页面列出了官方给出的临时措施。如果你的版本已经停止支持,请看旧版本的出路。

我们读过的页面