跳至主要內容
問題與解答
Ubuntu 如何安裝多個 PHP 版本?

Ubuntu 如何安裝多個 PHP 版本?

問:
Ubuntu 如何安裝多個 PHP 版本?
答:

Ubuntu 預設只內建一個 PHP 版本:Ubuntu 26.04 是 PHP 8.5,Ubuntu 24.04 是 PHP 8.3。網站需要其他版本,或要在同一台主機上同時跑多個版本時,就要加入 Ondřej Surý 維護的第三方套件來源。這篇整理安裝步驟、切換版本的方法,以及各版本的支援期限。

一、先確認要裝哪個版本

PHP 每個版本有 2 年的完整支援,之後再提供 2 年的安全性修補。依 php.net 公布的支援期限,目前仍有支援的版本是:

版本發布日期完整支援到安全性修補到
PHP 8.22022-12-082024-12-312026-12-31
PHP 8.32023-11-232025-12-312027-12-31
PHP 8.42024-11-212026-12-312028-12-31
PHP 8.52025-11-202027-12-312029-12-31

這篇舊版介紹的 PHP 7.3、7.4、8.0,以及 8.1,都已經停止支援,不會再有安全性更新。還在用這些版本的網站,建議盡快規劃升級程式,而不是繼續安裝舊版本。

二、加入套件來源

Ubuntu 22.04、24.04:ppa:ondrej/php

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

Ubuntu 26.04:packages.sury.org

ppa:ondrej/php 沒有提供 Ubuntu 26.04 的套件,維護者正把套件移到 packages.sury.org。26.04 依官方的設定步驟加入:

sudo apt-get update
sudo apt-get -y install lsb-release ca-certificates curl
sudo curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
sudo dpkg -i /tmp/debsuryorg-archive-keyring.deb
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/debsuryorg-archive-keyring.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
sudo apt-get update

三、安裝指定版本

以 PHP 8.4 為例,其他版本把指令中的 8.4 換掉即可。各版本的套件可以並存,不會互相覆蓋。

搭配 NGINX 或 Apache 使用 PHP-FPM

sudo apt install php8.4-fpm php8.4-common php8.4-curl php8.4-gd php8.4-intl php8.4-mbstring php8.4-mysql php8.4-xml

Virtualmin 以 FCGI 模式執行

sudo apt install php8.4-cgi php8.4-common php8.4-curl php8.4-gd php8.4-intl php8.4-mbstring php8.4-mysql php8.4-xml

裝好後用 php8.4 -v 確認版本。

四、切換版本

命令列的預設版本

輸入 php 時執行哪個版本,用下面的指令選擇:

sudo update-alternatives --config php

這只影響命令列,例如排程與 Composer,不影響網站實際使用的版本。

網站使用的版本

網站用哪個版本,是在網站伺服器的設定裡指定的,每個網站可以不同:

  • NGINX:在網站設定的 fastcgi_pass 指向該版本的 socket,例如 unix:/run/php/php8.4-fpm.sock
  • Virtualmin:在該網站的 PHP 設定中選擇版本

切換前先確認網站程式支援新版本,切換後檢查網站與錯誤記錄。

五、注意事項

  • NGINX 的套件來源:在 Ubuntu 22.04、24.04 上,NGINX 主機可以另外加入 ppa:ondrej/nginx。使用 Virtualmin ./install.sh --bundle LEMP 安裝的主機請勿加入,請使用 Virtualmin 內建的 NGINX
  • 更新套件:加入套件來源後,用 sudo apt update 更新清單、sudo apt upgrade 更新套件,遇到相依性問題時先停下來確認,不要強制更新
  • 慎用 apt autoremove:在 Ubuntu 22.04 上,sudo apt autoremove 可能移除舊系統仍需要的套件,執行前先看清楚它要移除哪些套件
  • 移除不用的版本:確認沒有網站在使用後,再移除該版本的套件,避免主機上留著沒有安全更新的版本
標籤:Ubuntu, Linux
發表於2026-08-05   更新於2026-11-10
免費諮詢 · 1 個工作天內回覆

準備好讓網站 開始幫你帶生意了嗎?

不論是要做新網站、救舊網站,還是只想先聊聊方向——先諮詢,不用先付錢,我們照實給你建議。

1 個工作天回覆免費諮詢與報價費用白紙黑字26 年找得到人
免費諮詢
免費諮詢 LINE諮詢 03-4020420 臉書傳訊
免費諮詢 LINE諮詢 03-4020420 臉書傳訊
免費諮詢
免費諮詢 LINE諮詢 03-4020420 臉書傳訊
免費諮詢 LINE諮詢 03-4020420 臉書傳訊