PHP 7.3 的終結是個勝利的事件
2017 年末,從 PHP 7.3 平穩過渡後,我們將整個平台升級到 PHP 7.4。聽起來不可怕嗎?我們很高興地報告,我們的絕大多數客戶在整個過程中不需要任何努力。畢竟,這是他們決定選擇 Pagely 的主要動機:他們想要從頭到尾獲得完全託管的 WordPress 體驗。
我們如何讓它發揮作用
好吧,我們捲起袖子,使用 PHP 7.3 測試了每個網站。在幕後,我們使用 PHP 7.4 測試了每個網站,以確保升級不會導致任何問題。對於少數出現相容性問題的網站,我們堅持使用 PHP 7.3,而絕大多數網站都經歷了無縫過渡到 PHP 7.4。
將一切都 Docker 化!
將我們的機群轉換為基於 Docker 的 PHP-FPM 環境非常有益。它不僅增加了靈活性,例如選擇新 PHP 版本和快速交付安全升級的能力,而且還使測試新 PHP 版本變得輕而易舉。
由於我們新的 Docker 化 PHP 策略,我們能夠為每個應用程式部署不同的 Docker 容器。然後,我們可以在充滿真實交易的替代版本下執行測試,而現有版本繼續處理即時流量。
這種方法非常適合端到端測試。與替代策略相比,有以下幾個優點:
- 執行相容性測試需要幾個小時;沒有人有時間這樣做。
- 克隆網站是一項艱鉅的任務,經常需要與網站所有者直接協調。
- 「你只活一次」(YOLOing)從來都不是一個好時機。
我們的目標是透過提供完全託管的 WordPress 平台來簡化您的託管體驗。還有什麼比針對眾多企業 WordPress 網站遇到的難題開發創新解決方案更好的方法來挑戰現有現狀呢?俗話說,需求催生創造力!
將其置於上下文中
如果我分配給您在新的 PHP 版本上測試數以萬計的 WordPress 網站會怎麼樣?如果你還沒有的話,你應該要顫抖一下你的靴子。即使有可用的自動化和測試套件,這也是一項艱鉅的任務。
透過我們基於 Docker 的新方法,我們在幾天內完成了整個車隊的兼容性評估。
當真正從 PHP 7.3 升級到 7.4 時,我們確保阻止可能有問題的站點,並且每個站點都通過了進一步的測試並順利管理了更改。沒有障礙,沒有漫長的停機時間,只有一帆風順。
我們對產出非常滿意,我們希望您能夠利用透過 Pagely 處理繁重工作而節省的時間來做一些有趣或有用的事情。最終,只有一小部分測試站點(少於 1%)失敗了;我們很高興將這一結果歸功於我們平台的自動升級以及我們團隊為提供世界一流的 WordPress 支援所做的持續努力。
PHP 的未來變化
PHP 7.4 將於今年稍後終止生命週期,這篇文章發表後大約四個月。
考慮到我們先前的測試技術取得了巨大成功,我們希望對PHP 8 採用相同的方法。版本首選項的網站都將進行測試。
隨著 PHP 8.0 成為下一個穩定選項,PHP 7.4 將保留「日落」版本直到今年年底,以便您有更多時間來解決我們在測試過程中可能發現的任何相容性問題。
PHP 8 相容性測試和發佈時間表
從 2022 年 8 月 8 日這一周開始(大約 30 天後),「Sunset」、「Stable」和「Latest」的映射將修改如下:
- PHP 7.4「Sunset」的狀態將保持不變直到 2022 年 11 月 28 日。
- PHP 7.4「穩定版」將會被 PHP 8.0 取代。
- PHP 8.0「最新」將被 PHP 8.1 取代。
- 當 PHP 7.4 於 2022 年 11 月 28 日正式 EOL 時,我們將把「Sunset」過渡到 8.0 版本。
為下一個 PHP 版本變更做好準備
我們要求所有 Pagely 用戶端簽入 Managed-WP.TM PRO 介面並檢查每個網站的 PHP 版本設定。
如果您檢查 PHP 版本,您可能會發現大多數網站都使用 PHP 7.4。如果您目前使用 PHP 7.4,我們建議您將 Managed-WP.TM 入口網站中的選項更新為“PHP8.0”,以便您可以更快升級到較新的穩定版本,並有更長的時間回退如果有相容性問題,請升級到PHP7.4。
這只能保證您在正確的升級路線上前進。作為一般規則,我們不建議在 PHP7.4 選擇上維護網站; PHP7.4 僅應在必要時使用。
PHP 相容性檢查 - PHP 8.0(新的「穩定」版本已準備就緒)
自 2020 年 11 月發布以來,PHP 8.0 已經穩定了一段時間。與每個新的重要軟體版本一樣,新的相容性修改伴隨著新功能和效能增強的添加。
絕大多數 WordPress 外掛和 WP Core 本身已經更新為 PHP 8.0 相容性。
值得注意的是,在過去的七個月裡,PHP 7.4 沒有收到任何除安全性修補程式之外的效能增強或錯誤修復,而 PHP 8.0 已經收到了上述所有內容。儘管目前從 PHP 7.4 到 8.0 的轉變是相對安全的升級,但我們將在實作更新時繼續測試每個網站。
在 php.net 上,您可以找到有關從版本 7.4 升級到版本 8.0 時的相容性的綜合文件。
PHP 8.1(即將推出的「最新」版本,即將推出)
隨著 WordPress 6.0 的發布,WordPress Core 中開始提供對 PHP 8.1 的初步支援。
目前,我們只提倡在 WordPress 6.0 網站上使用 PHP 8.1。儘管 WordPress 6.0 在很大程度上與 PHP 8.1 相容,但在消除所有已知問題之前,仍然需要為 WordPress 6.1 里程碑安排工作。
除了核心升級之外,外掛和主題可能需要額外的時間才能跟上。隨著我們繼續分析最受歡迎插件的發行說明,我們在這方面取得了重大進展。幸運的是,由於出色的 WordPress 社群早期採用者,WordPress 核心團隊意識到與 8.1 完全相容所需的調整。
以下連結提供了有關這些非凡項目的更多資訊:
https://core.trac.wordpress.org/ticket/53465
https://core.trac.wordpress.org/ticket/54183
這是一個 關聯 詳細介紹了從 PHP 8.0 到 8.1 的遷移,以了解 WordPress 核心中實作之外的一般 PHP 變更。
如果您不自行將 PHP7.4 變更為 PHP8.0,請聯絡我們。
我們將按照上面的指示更改版本映射,但不會在測試您的網站之前進行。如果所有測試都通過,則設定為「穩定」的網站將開始使用版本 8.0,而不是 7.4。
儘管您的“Sunset”PHP 版本設定將保持不變,但底層版本映射將從 PHP 7.4 更改為 PHP 8.0。同樣,如果您網站的 PHP 版本設定為“最新”,我們將維護該設定並在將“最新”映射到 8.1 之前進行測試。
2022 年 11 月之後會發生什麼事?
屆時,我們將重新評估 WordPress Core 的狀況,並確定首選項應對應哪個版本。
總的來說,我們的目標是在最新版本發布後立即向您提供,前提是 WordPress Core 可以在其上運行。根據事情的進展,我們可能會在 PHP 8.1 準備好後不久提供“Beta”選項!
如果您的 PHP 版本因您的 WP 外掛程式和自訂程式碼版本而被「鎖定」到 7.4 或 8.0,會發生什麼?
如果您的網站因外掛程式和自訂程式碼不支援 PHP8.0 而被限制為 PHP7.4,我們強烈建議您檢查其程式碼以確保它與 8.0 相容。為了充分利用從現在到完成 EOL 之間的這段時間,我們建議您在測試期間直接與您聯繫之前先做好準備。
另外,我們建議更新WordPress和外掛的版本。並繼續遵循“穩定”或“最新”版本設定。這使您能夠參與滾動更新,而無需手動更改設定或由我們的員工進行更新。
感謝您的閱讀,如有疑問請聯絡我們 我們的支援團隊 如果您有任何疑問或需要協助 – 我們 24/7 隨時為您服務。