如何在 Ubuntu 24.04、22.04 或 20.04 上安裝 PHP 8.2

PHP 是 Web 開發的基石,不斷發展,每個版本都提供新功能和改進。 PHP 8.2 的發布也不例外,它帶來了一些增強功能,有望增強效能、提高程式碼可讀性並引入更強大的類型系統。對於開發人員和系統管理員來說,了解這些更新以及如何利用它們對於維護和開發現代 Web 應用程式至關重要。

PHP 8.2 引入了幾項顯著的增強功能,旨在簡化開發工作流程並增強應用程式的安全性和功能:

  • 唯讀類:使不可變類別更簡單簡潔。
  • 析取範式 (DNF) 類型:在類型聲明中提供更大的靈活性。
  • null、false 和 true 的獨立類型:改進專用類型的類型檢查。
  • 新的“隨機”擴展:提供更安全和物件導向的方法來產生隨機數。
  • 特徵中的常數: 允許特徵聲明常數可以增強它們的實用性。
  • 已棄用的動態屬性:透過棄用未經批准的動態屬性來鼓勵更好的編碼實踐。
  • 新類別、介面和函數:引入新的功能和屬性以進一步提高 PHP 的功能。

這些增強功能強調了 PHP 對推動 Web 技術的承諾,並強調了跟上最新開發實踐的重要性。讓我們深入了解如何安裝此最新版本並釋放 Web 開發專案的全部潛力。

在 Ubuntu 上安裝 PHP 8.2 的先決條件

若要在 Ubuntu 上成功安裝 PHP 8.2,請確保符合以下要求:

系統要求和支援的 Ubuntu 版本

成分最低要求
處理器2 GHz 或更快的雙核心處理器
記憶體4 GB 或更多
磁碟空間25 GB 可用空間
網路高速網路連線
支援的版本Ubuntu 24.04(高貴), Ubuntu 22.04(傑米), Ubuntu 20.04(焦點)

其他要求

要求描述
網路連線下載 PHP 8.2 和應用程式更新所必需的。
終端約定所有終端命令都應以普通用戶身份執行 sudo 特權。
CLI 指令使用命令列介面 (CLI) 進行安裝和設定。
網路伺服器確保安裝了相容的 Web 伺服器(例如 Apache、Nginx)以執行 PHP 腳本。

安裝 PHP 之前更新 Ubuntu

先更新你的 Ubuntu 系統至關重要。此步驟增強了安全性並確保新軟體的順利安裝。使用以下命令刷新軟體包清單並升級過時的軟體包:

sudo apt update
sudo apt upgrade

在 Ubuntu 上安裝 PHP PPA 的初始套件

在新增 PHP PPA 之前,請安裝必要的套件以進行安全性套件處理。其中包括用於憑證驗證和軟體屬性管理的工具。

運行以下命令:

sudo apt install ca-certificates apt-transport-https software-properties-common lsb-release -y

新增 PHP 8.2 PPA

現在,整合 翁德雷‧蘇裡 (Ondrej Surý) PHP PPA 進入您的系統。該儲存庫提供了最新的 PHP 版本,超越了 Ubuntu 的預設版本。

使用以下命令導入儲存庫:

sudo add-apt-repository ppa:ondrej/php -y

新增 PPA 後,更新包快取以識別新來源:

sudo apt update

最後,使用以下內容升級任何需要更新的軟體包:

sudo apt upgrade

繼續安裝 PHP 8.2

選項 1:將 PHP 安裝為 Apache 模組

對於 Apache HTTP 伺服器環境,PHP 通常會作為模組安裝。要維護精簡的伺服器,只需安裝所需的特定 PHP 版本。

使用以下命令在 Ubuntu 上將 PHP 8.2 作為 Apache 模組安裝:

sudo apt install php8.2 libapache2-mod-php8.2

安裝後,重新啟動 Apache 以載入新的 PHP 模組:

sudo systemctl restart apache2

選項 2:使用 PHP-FPM 安裝 Apache

PHP-FPM 為繁忙的網站提供增強的效能。

要使用 PHP-FPM for Apache 在 Ubuntu 上安裝 PHP 8.2:

sudo apt install php8.2-fpm libapache2-mod-fcgid

啟用 PHP-FPM:

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.2-fpm

重新啟動 Apache 以套用變更:

sudo systemctl restart apache2

選項 3:安裝 Nginx 的 PHP 8.2 支持

Nginx 需要 PHP-FPM 來處理 PHP 檔案。在 Ubuntu 上安裝 PHP 8.2,並在 Nginx 上安裝 PHP-FPM:

sudo apt install php8.2 php8.2-fpm php8.2-cli

如果 PHP-FPM 8.2 服務未執行,請手動啟動它:

sudo systemctl start php8.2-fpm

為 PHP-FPM 8.2 設定 Nginx 伺服器區塊

修改 Nginx 伺服器區塊以處理 PHP 檔案。將其添加到相關的伺服器區塊中:

location ~ .php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
}

您可以使用以下命令驗證修改後的 Nginx 設定的語法:

sudo nginx -t

此命令驗證設定檔的語法並突出顯示發現的任何錯誤。成功的輸出將如下所示:

nginx:設定檔/etc/nginx/nginx.conf語法正確 nginx:設定檔/etc/nginx/nginx.conf測試成功

確認語法正確後,重新啟動 Nginx 服務以套用變更:

sudo systemctl restart nginx

最後一點,請務必檢查系統上安裝的 PHP 版本。使用以下命令來執行此操作:

php --version

此命令顯示系統目前的 PHP 版本,使您可以確認安裝或升級是否成功。

使用 PHP 8.2 擴充

安裝 PHP 8.2 擴充

若要在 Ubuntu 上自訂 PHP 8.2,請選擇符合您的專案要求的擴充功能。這種方法提高了性能和安全性。

使用以下命令安裝必要的擴充功能:

sudo apt install php8.2-{cli,fpm,curl,mysqlnd,gd,opcache,zip,intl,common,bcmath,imagick,xmlrpc,readline,memcached,redis,mbstring,apcu,xml,dom,memcache}

了解 PHP 8.2 擴充

  • php-cli:用於執行 PHP 腳本的命令列介面。
  • php-fpm:FastCGI 進程管理器,用於高效率的請求處理。
  • php-curl:啟用與不同伺服器類型的通訊。
  • php-mysqlnd:用於資料庫連接的 MySQL 本機驅動程式。
  • php-gd:用於影像處理的圖形庫。
  • php-opcache:透過快取預編譯腳本字節碼來提高 PHP 效能。
  • php-zip:管理zip檔操作。
  • php 國際化:對全域字元集的國際化支援。
  • php 一般:跨多個 PHP 模組的通用功能。
  • php-bcmath:用於精確的浮點運算。
  • php-imagick:使用 ImageMagick 的影像處理功能。
  • php-xmlrpc:XML-RPC 伺服器和客戶端功能。
  • php-readline:從終端讀取互動式輸入。
  • php-memcached 和 php-redis:用於提高效能的快取解決方案。
  • php-mbstring:處理多位元組字元編碼。
  • php-apcu:用戶快取以增強PHP應用程式效能。
  • php-xml 和 php-dom:XML 解析和操作。

要查找其他模組(上面只是一個範例),請使用搜尋命令,如下所示:

sudo apt search php8.2-

監控已安裝的 PHP 8.2 模組

使用 php -m 查看載入的 PHP 模組:

php8.2 -m

建議定期檢查和刪除未使用的模組以保持效率。

安裝 PHP 8.2 開發工具

對於PHP開發和調試:

sudo apt install php8.2-xdebug php8.2-pcov php8.2-dev

結論性思考

總而言之,本指南成功地為您提供了在 Ubuntu 24.04、22.04 或 20.04 上安裝 PHP 8.2 的步驟。提供的說明適用於各種伺服器環境,無論是將 PHP 配置為 Apache 模組、將 PHP-FPM 與 Apache 結合使用,或是為 Nginx 設定 PHP 支援。定期更新您的系統和 PHP 版本,以獲得安全性和效能優勢。

有用的連結

以下是一些與使用 PHP 相關的有價值的連結:

  • PHP官方網站:造訪 PHP 官方網站,了解有關程式語言、其功能和下載選項的資訊。
  • PHP 8.2 發行說明:瀏覽 PHP 8.2 的發行說明,了解新功能、改進和變更。
  • PHP 8.2 變更日誌:查看 PHP 8 的更改日誌以查看每個版本中更改和更新的詳細清單。
  • PHP 文件:訪問全面的文檔,以獲取有關 PHP 使用和編程的詳細指南。
  • PHP 支援:尋找各種支援資源以獲得 PHP 協助,包括郵件清單和使用者群組。
Joshua James
跟我來
Joshua James 的最新帖子 (看全部)

發佈留言