PHP 安全吗?语言本身和你用的版本是两回事

WindowsMac更新

PHP 官方给每个 PHP 分支四年的支持,之后就不再修复其中的安全问题。所以对你的网站来说,PHP 安不安全,与其说取决于语言本身,不如说取决于网站跑的是哪个版本,以及这个版本有没有打上修复。本文信息截至 2026 年 10 月 23 日。

简要回答

要让 PHP 用得安全,网站应当跑在 PHP 官方仍在支持的分支上,并更新到该分支的最新版本。截至 2026 年 10 月 23 日,受支持的是 PHP 8.2、8.3、8.4 和 8.5,修复 10 月 21 日两个漏洞的版本是 8.2.35、8.3.36、8.4.27 和 8.5.12。过了生命周期的版本,官方不再提供安全修复。另有一个小得多的相关问题,PHP 官方说它在实际中不太可能出现:10 月 23 日的信息性公告建议,在下一个常规修复版本发布之前关闭会话上传进度功能(session.upload_progress.enabled=0),详见PHP 漏洞 PHP2Shell 是什么。

PHP 本身安全吗?

PHP 自己的手册说得很坦白。安全一章的简介说,PHP 可以在服务器上访问文件、运行命令以及创建网络连接,默认情况下,这些功能会使 web 服务器运行的任何内容变得不安全。它接着说,只要正确选择编译时和运行时的配置选项,并采用正确的编码实践,PHP 可以同时满足所需的自由和安全。

所以语言是一件工具,网站安全与否,取决于怎么配置、有没有及时更新。手册说,环境如何构建、安全性如何,很大程度上取决于 PHP 开发者。对个人网站来说,这些工作通常由你、你的主机商和网站程序(比如 WordPress)的开发方分担。如果你还不太清楚 PHP 在网站上到底做什么,可以从PHP 是什么读起。

语言和我用的版本有什么区别?

PHP 分成一个个分支,比如 8.3、8.4,每个分支会不断发布带修复的小版本,比如 8.3.36。问“PHP 安不安全”时,真正有用的问题是:你的分支还受不受支持,你有没有装上这个分支的最新版本。

PHP 的支持版本页面说,每个分支从首个稳定版发布起获得两年的完整支持,之后再有两年只修复严重安全问题。四年期满后,这个分支就到达生命周期终点。截至 2026 年 10 月 23 日,页面列出受支持的是 8.2、8.3、8.4 和 8.5,其中 8.2 的安全支持在 2026 年 12 月 31 日结束。完整的表格在 php.net 的支持版本页面。

如果你的网站在用更早的分支,能怎么办见还在用 PHP 8.1 或更早的版本?。

为什么安全更新这么重要?

因为一个漏洞即使已经被发现和修复,在没有装上修复的服务器上它依然存在。PHP 的支持版本页面说,还在用已停止维护版本的用户应该尽快升级,因为他们可能暴露在未修补的安全漏洞之下。

英国国家网络安全中心(NCSC)对软件的一般看法也是一样。它给个人的建议是,及时安装安全更新有助于保护你的设备和账户免受网络犯罪分子的侵害,并说这是你能做的最重要、也最快的事情之一。它给组织的指南则把尽快安装更新、最好是自动安装作为默认做法。

对网站来说,更新通常包括服务器上的 PHP(可能由主机商负责),以及跑在上面的网站程序和插件。更新了其中一个,并不等于另一个也更新了。

PHP2Shell 说明了什么?

2026 年 10 月 21 日,PHP 官方修复了两个严重漏洞,美国 CISA 说它们被称为“php2shell”。修复只发布在四个受支持的分支上。公告说,PHP 8.1 及更早的版本已经不再获得 PHP 官方的更新,所以这些版本的使用者只能依靠厂商移植的修复,或者换到受支持的分支。

国家互联网应急中心(CNCERT)把这两个漏洞的综合评级定为“高危”。截至 2026 年 10 月 23 日,CNCERT 说漏洞技术细节与 PoC 已广泛传播;新加坡网络安全局(CSA)说,已有针对这些漏洞的大范围利用尝试的报告;CISA 10 月 21 日的警报(10 月 23 日修订)说,截至发布时,它没有观察到这些漏洞在实际环境中被成功利用。漏洞的完整说明见PHP 漏洞 PHP2Shell 是什么。

怎么确认我的网站在受支持、已修复的版本上?

先找到网站实际运行的 PHP 版本号,再拿它和受支持的分支、以及该分支最新的修复版本对比。自己找不到的话,主机商可以告诉你。

在 WordPress 和主机面板里去哪里看,以及要问主机商什么,见如何查看网站的 PHP 版本。如果发现需要换版本,如何在 WordPress 网站上升级 PHP讲了怎么做,第一步是备份。

更多问题

2026 年了,PHP 还能放心用吗?

在受支持、已修复的版本上可以。截至 2026 年 10 月 23 日,PHP 的支持版本页面列出受支持的是 8.2、8.3、8.4 和 8.5。比 8.2 更早的分支都已到达生命周期终点,页面说这些版本的用户可能暴露在未修补的安全漏洞之下。

PHP 8.2 安全吗?

PHP 的支持版本页面显示,8.2 的安全支持到 2026 年 12 月 31 日结束。8.2 的情况和要提前准备什么,见还在用 PHP 8.1 或更早的版本?。

访问用 PHP 做的网站,会让我的电脑有风险吗?

PHP 运行在网站服务器上,不在你的设备上,PHP2Shell 的公告说的也是处理网页请求的 PHP。修复是网站运营者的事。访客这边要注意什么,见打开被黑的网站会中毒吗。

PHP 是最新版,我的网站就安全了吗?

不能只看这一点。PHP 手册说,PHP 环境的安全性也取决于配置和代码的写法。网站程序、主题和插件需要各自更新,服务器的其他部分由主机商负责。

虚拟主机上的 PHP 由谁来更新?

通常是主机商,有时是你自己在主机面板里操作。NCSC 关于 PHP2Shell 的建议提醒组织关注那些内置 PHP 的产品和服务的厂商更新。如果不确定你的网站归谁负责,就问主机商网站用的是哪个版本、有没有装上修复版本。

来源