近日,微软 PHP 项目经理 Dale Hirt 在 PHP 邮件列表中宣布,Windows 将不再支持 PHP v8 及更高版本。
据了解,Windows 不会马上彻底放弃支持 PHP,目前仍会为 PHP 7.3 和 PHP 7.4 进行开发和构建工作。同时,针对运行在 Windows 上的 PHP 7.2,微软也会支持相应的安全修复。
Dale Hirt 表示:“目前我们的节奏是,从发布之日起 2 年内进行错误修复,1 年后进行安全修复。这意味着 PHP 7.2 将在 11 月停止支持。PHP 7.3 将在 11 月进入安全修复模式。PHP 7.4 将继续有一年的 bug 修复期,然后是一年的安全修复期。只要是官方支持的,我们都会致力于维护开发和建设。然而,我们不会在 8.0 版及以后的版本中以任何形式支持 PHP for Windows。”
为什么选择放弃支持 PHP?虽然微软官方没有给出确定的原因,但是我们猜测很可能是因为用户数量。根据互联网服务公司 Netcraft 数据显示,2018 年 12 月至 2019 年 12 月,微软 Windows 的互联网信息服务(IIS)的市场份额从 42% 骤降至 15%,落后于 Apache 和 NGINX 等系统。
另外,从最近的动态不难看出,微软在 Linux 和开源方面做了很多努力,也很看重这两个方向,随着 Windows Subsystem for Linux 的发展,在 Windows 上运行面向 Linux 操作系统的应用程序越来越方便,微软自然也就不愿意为 Linux 应用程序和平台的 Windows 版本做更多的工作。
微软 Windows 放弃支持 PHP,对大多数开发者的影响不是很大,毕竟只是 Windows 放弃,又不是 PHP 社区放弃维护,更何况还有很多开发者是使用 Linux 系统。当然也会带来一些不便,例如在上下文丢失的情况下运行 https://windows.php.net ,可以生成 PHP for Windows 的所有官方版本,如果你运行了 php.exe
、 mod_php7.dll
或者其它实际调用的 WebAPI 版本,那么你只能使用微软提供的 PHP 版本,或者自己编译。
我们常调侃“PHP 是世界上最好的语言”,但事实上也有不少企业和项目选择不再支持 PHP。
2016 年,天猫使用 Node 重构了原有的 PHP 系统。据知乎网友 ngot 称,PHP 在天猫中主要应用于前端渲染业务,2015 年之前,前端代码基本都跑在 PHP 系统上。但这套 PHP 系统设计年代非常久远,并且设计之初没有双 11 的高并发和高效率开发的压力,因此在 2014 年,这套 PHP 系统其实就有点“力不从心”,无法满足需求了。再加上在 PHP 系统上做前端开发,技术体系存在隔离,前端人员需要同时掌握 PHP、JS 和 CSS,于是天猫在这一年就开始试点 Node 方案,并于 2016 年年初,彻底下线了所有 PHP 业务。
2018 年,Facebook 开发的 PHP 执行引擎 HHVM 在其官方博客上宣布,将停止支持 PHP,改用 Hack 开发 HHVM,HHVM v3.30 将是最后一个支持 PHP 的版本。放弃 PHP 的主要原因是 PHP 7 与 PHP 5 存在很大的兼容性问题,而 Hack 是 PHP 的一个分支语言,可以规避掉 PHP 中本身存在的很多古老问题。