Apache-2.2
舊版 php 應用程序 - 更新內容的正確順序是什麼?
我有一個舊的 PHP 應用程序執行在:
HTTP 1.0 Apache 2.4.10 PHP 5.4.45 MySQL 5.5.42
我有一個開源框架,之前的團隊已經手動將更改寫入其中,因此我們不能再依賴自動更新 - 我必須自己手動升級所有程式碼。
PHP 7 / 8 (FPM?)
我認為最終目標應該是.nginx
而不是 apacheMySQL 8
和HTTP 2
. 我也介紹過git
,composer
因為這些從未使用過。我已經對這個設置進行了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 首次發佈時做好更新準備。