近日,微軟 PHP 項(xiàng)目經(jīng)理 Dale Hirt 在 PHP 郵件列表中宣布,Windows 將不再支持 PHP v8 及更高版本。
據(jù)了解,Windows 不會(huì)馬上徹底放棄支持 PHP,目前仍會(huì)為 PHP 7.3 和 PHP 7.4 進(jìn)行開(kāi)發(fā)和構(gòu)建工作。同時(shí),針對(duì)運(yùn)行在 Windows 上的 PHP 7.2,微軟也會(huì)支持相應(yīng)的安全修復(fù)。
Dale Hirt 表示:“目前我們的節(jié)奏是,從發(fā)布之日起 2 年內(nèi)進(jìn)行錯(cuò)誤修復(fù),1 年后進(jìn)行安全修復(fù)。這意味著 PHP 7.2 將在 11 月停止支持。PHP 7.3 將在 11 月進(jìn)入安全修復(fù)模式。PHP 7.4 將繼續(xù)有一年的 bug 修復(fù)期,然后是一年的安全修復(fù)期。只要是官方支持的,我們都會(huì)致力于維護(hù)開(kāi)發(fā)和建設(shè)。然而,我們不會(huì)在 8.0 版及以后的版本中以任何形式支持 PHP for Windows。”
為什么選擇放棄支持 PHP?雖然微軟官方?jīng)]有給出確定的原因,但是我們猜測(cè)很可能是因?yàn)橛脩魯?shù)量。根據(jù)互聯(lián)網(wǎng)服務(wù)公司 Netcraft 數(shù)據(jù)顯示,2018 年 12 月至 2019 年 12 月,微軟 Windows 的互聯(lián)網(wǎng)信息服務(wù)(IIS)的市場(chǎng)份額從 42% 驟降至 15%,落后于 Apache 和 NGINX 等系統(tǒng)。
另外,從最近的動(dòng)態(tài)不難看出,微軟在 Linux 和開(kāi)源方面做了很多努力,也很看重這兩個(gè)方向,隨著 Windows Subsystem for Linux 的發(fā)展,在 Windows 上運(yùn)行面向 Linux 操作系統(tǒng)的應(yīng)用程序越來(lái)越方便,微軟自然也就不愿意為 Linux 應(yīng)用程序和平臺(tái)的 Windows 版本做更多的工作。
微軟 Windows 放棄支持 PHP,對(duì)大多數(shù)開(kāi)發(fā)者的影響不是很大,畢竟只是 Windows 放棄,又不是 PHP 社區(qū)放棄維護(hù),更何況還有很多開(kāi)發(fā)者是使用 Linux 系統(tǒng)。當(dāng)然也會(huì)帶來(lái)一些不便,例如在上下文丟失的情況下運(yùn)行 https://windows.php.net,可以生成 PHP for Windows 的所有官方版本,如果你運(yùn)行了 php.exe 、 mod_php7.dll 或者其它實(shí)際調(diào)用的 WebAPI 版本,那么你只能使用微軟提供的 PHP 版本,或者自己編譯。
我們常調(diào)侃“PHP 是世界上最好的語(yǔ)言”,但事實(shí)上也有不少企業(yè)和項(xiàng)目選擇不再支持 PHP。
2016 年,天貓使用 Node 重構(gòu)了原有的 PHP 系統(tǒng)。據(jù)知乎網(wǎng)友 ngot 稱,PHP 在天貓中主要應(yīng)用于前端渲染業(yè)務(wù),2015 年之前,前端代碼基本都跑在 PHP 系統(tǒng)上。但這套 PHP 系統(tǒng)設(shè)計(jì)年代非常久遠(yuǎn),并且設(shè)計(jì)之初沒(méi)有雙 11 的高并發(fā)和高效率開(kāi)發(fā)的壓力,因此在 2014 年,這套 PHP 系統(tǒng)其實(shí)就有點(diǎn)“力不從心”,無(wú)法滿足需求了。再加上在 PHP 系統(tǒng)上做前端開(kāi)發(fā),技術(shù)體系存在隔離,前端人員需要同時(shí)掌握 PHP、JS 和 CSS,于是天貓?jiān)谶@一年就開(kāi)始試點(diǎn) Node 方案,并于 2016 年年初,徹底下線了所有 PHP 業(yè)務(wù)。
2018 年,F(xiàn)acebook 開(kāi)發(fā)的 PHP 執(zhí)行引擎 HHVM 在其官方博客上宣布,將停止支持 PHP,改用 Hack 開(kāi)發(fā) HHVM,HHVM v3.30 將是最后一個(gè)支持 PHP 的版本。放棄 PHP 的主要原因是 PHP 7 與 PHP 5 存在很大的兼容性問(wèn)題,而 Hack 是 PHP 的一個(gè)分支語(yǔ)言,可以規(guī)避掉 PHP 中本身存在的很多古老問(wèn)題。


