在 Docker official php image 上修复 PHP2Shell

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

逐个版本

发行版本状态修复包安全公告
8.5.12 (cli, fpm, apache, zts, alpine3.23/3.24; bookworm, trixie)已有修复包amd64 约 16:28-16:48Z 推送;所有架构(386、arm、arm64、s390x)约 17:31Z 前完成。8.5.12–2026-10-21
8.4.27已有修复包变体相同。8.4.27–2026-10-21
8.3.36已有修复包变体相同。8.3.36–2026-10-21
8.2.35已有修复包变体相同,例如 8.2.35-fpm、8.2.35-apache、8.2.35-fpm-alpine。8.2.35–2026-10-21
8.4.27RC1 / 8.5.12RC1 tags暂无修复RC 标签不是修复版本。––
8.1 and older暂无修复8.1 标签最后更新于 2025-12-31,没有修补。––

确认修复已安装

docker run --rm php:8.4-fpm php -v  # expect 8.4.27 or newer; no changelog to grep, docker image uses upstream source

重启 PHP

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

docker pull php:8.4-fpm && docker build --pull -t myapp . && docker compose up -d --force-recreate

如果你的版本还没有修复

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

我们读过的页面