下面由WordPress教程欄目給大家介紹wordpress 插件、主題與php8的兼容性,希望對需要的朋友有所幫助!
關于WordPress 插件、主題與PHP 8的兼容性
PHP8 于2020年11月26日發布,WordPress核心撰稿人喬納森·德羅西耶斯(Jonathan Desrosiers)在《使WordPress核心》博客上發表了一篇關于PHP8對WordPress影響的文章,從文中可以確認Wordpress目前的版本,不能保證在PHP8中完美運行,特別是眾多的主題和插件兼容性更不可預知,即將于2020年12月8日發布的Wordpress 5.6也只是PHP8的過渡版本,所以目前不要嘗試在自己的WordPress網站上升級使用PHP8。
相關文章推薦:《PHP8正式發布了》
下面是機翻。
立即學習“PHP免費學習筆記(深入)”;
PHP 8 推出
PHP 8是我們最喜歡的腳本語言的下一個主要更新。雖然以前的 PHP 版本對 WordPress 生態系統沒有太大的負面影響,但此更新有一些重大更改可能會影響向后兼容性。還應該注意的是,PHP 7.x 中棄用的許多功能現在將在 PHP 8 中刪除。
WordPress 核心的狀態
在他的帖子中,德羅西耶斯強調了為使核心軟件保持最新而進行的工作。”WordPress Core 的目標是在 5.6 版本中與 PHP 8.0 兼容(目前定于2020年12月8日),”他寫道。
但是,這并不意味著在 WordPress 5.6 發布時升級到 PHP 8 是安全的。WordPress 很少只運行自己,通常依賴于至少一個主題和插件集合作為博客或網站。因此,他指出,”PHP 8 在更廣泛的生態系統(插件、主題等)中支持的狀態是不可能知道的。因此,WordPress 5.6 應被視為與 PHP 8 的”測試版兼容”。
這意味著,本質上,在大多數主要的主題和插件是PHP 8兼容之前,WordPress不能被認為是完全兼容的。
了解 PHP 8 如何影響您的插件或主題
像Yoast這樣的公司已經為此準備了一段時間了。10月下旬,Yoast CTO Omar Reis與同行的撰稿人朱麗葉·林德斯·福爾默(Juliette Reinders Folmer)一起,為PHPCS編寫了WordPress編碼標準嗅探器的維護者,Yoast devops經理ErreGroen,編制并發表了一份全面的WordPress/PHP 8兼容性報告。
雖然我強烈建議你花時間通讀整個報告,但它確實概述了PHP 8升級對大型WordPress網站,尤其是插件和主題生態系統產生如此巨大影響的主要原因。
但是,PHP 7.* 版本看到的棄用量比以前版本的 PHP 大得多。PHP 5.6 到 PHP 7 是一個相對簡單的遷移,從 7.x 到 8 可能會非常痛苦,尤其是對于非常古老的代碼庫,如 WordPress 和許多可用的插件。對于類型良好的代碼庫或代碼庫,它們一直保持最新的 PHP 版本,因此沒有問題。
作為一些插件的維護者,一些插件建立在八年前的代碼之上,令人擔憂的是,這種升級可能會導致網站中斷。
如何做好準備
我問里斯和福爾默插件和主題開發人員可以做什么來準備, 他們分享了一些指針。
首先,開發人員應該告知自己 PHP 8 中的變化:閱讀有關PHP 8的 Make 帖子,閱讀Yoast PHP8 兼容性報告,閱讀PHP 手冊中的”從 PHP 7.4 遷移到 PHP 8.0″部分,并可能通過閱讀PHP 8分支中的升級文檔和 PHP 8 的RFC來更深入地挖掘。
一些可用的工具可用于幫助查找不兼容:
-
通過命令(確保遍數所有文件)或使用PHP并行林特在PHP8上運行PHP絨板。php -l
-
在代碼上運行 PHP兼容:應該注意,幾乎所有 PHP 8 相關嗅覺都位于 PHP 兼容版本 10.0.0 的尚未發布版本中,因此人們需要使用分支或通過 composer 進行當前操作,直到版本 10.0.0 發布。developdev-develop
-
在 PHP 8 上為插件或主題運行單元/集成測試,并修復任何出現錯誤的問題。這通常意味著測試套件首先需要與 PHPUnit 9.3+ 兼容。PHPUnit Polyfills 包和WP 測試 Utils包(都在 Yoast github 組織下發布)可以幫助實現此目的。同樣重要的是要注意,要使這種測試具有可靠的性能,需要有相當大的測試覆蓋率。
-
運行 WordPress單元測試和WordPress e2e測試,激活插件,并修復出現的任何問題。
-
檢查該測試的(嚴格)代碼覆蓋率是否足夠高,如果沒有,請添加更多測試,確保涵蓋快樂和不愉快的路徑。
-
如果沒有測試,請手動測試所有內容,尤其關注”不愉快路徑”,并期望在可預見的將來收到 bug 報告。同時,這可能是研究為插件或主題實施單元/集成測試的利向。
還有時間, 但它已經用完了
正如Desrosiers在”制造”帖子中指出的,WordPress只正式的目標是在12月初5.6發布時準備好PHP8。這可能意味著,許多以 WordPress 為重點的托管公司只會考慮在 WordPress 核心兼容后向其客戶提供升級。因此,作為插件和主題開發人員,我們有一些時間來測試我們的產品,讓他們做好準備,但窗口正在快速關閉。
幸運的是,最新的知識和工具就在那里。我們只需要把它們付諸行動。