Apache-2.2

舊版 php 應用程序 - 更新內容的正確順序是什麼?

  • July 22, 2020

我有一個舊的 PHP 應用程序執行在:

HTTP   1.0
Apache 2.4.10
PHP    5.4.45
MySQL  5.5.42

我有一個開源框架,之前的團隊已經手動將更改寫入其中,因此我們不能再依賴自動更新 - 我必須自己手動升級所有程式碼。

PHP 7 / 8 (FPM?)我認為最終目標應該是.nginx而不是 apacheMySQL 8HTTP 2. 我也介紹過gitcomposer因為這些從未使用過。

我已經對這個設置進行了docker化,所以我們現在可以自由地測試不同東西的升級。

我該怎麼辦?

更新所有內容的“正確”方法是從依賴項到頂部,因此順序應該是:

  • HTTP/2 和 Apache,升級 Apache 將允許您使用 HTTP/2,PHP(幾乎)與它無關。
  • MySQL
  • PHP 到 7.3
  • (可選)PHP 7.3 之後的 PHP 到 7.4

阿帕奇

升級 Apache 將是最簡單的部分,因為 Apache 和 PHP 之間沒有太多的依賴關係。如果你想去 NGinx,我建議你先做。

MySQL

升級 MySQL 有點棘手,這取決於 PHP 程式碼對特定函式的依賴程度。在這一步之後,請測試一切,如果需要,更新程式碼中的查詢。如果 PHP 正在使用 ORM,請先嘗試更新它(僅 ORM),這應該可以正常工作。

PHP

最後一部分,肯定是你最痛苦的部分是升級 PHP。我建議您先升級到 7.2 或 7.3,測試所有內容並在需要時更新程式碼。在這一步,您可以使用 Composer 升級 PHP 依賴項。

當一切都已更新時,您可以考慮更新到 7.4(7.3 和 7.4 之間有很多變化,這就是為什麼您應該分兩步進行更新)。

現在更新到 PHP 8 有點早,所以您可以免費發出程式碼警告和通知,以便在 PHP 8 首次發佈時做好更新準備。

引用自:https://serverfault.com/questions/1026154