Rocky Linux 安裝多版本 PHP 及切換 CLI PHP 教學

本文示範如何在 Rocky Linux 9 / 10 上:

  • ✅ 安裝多個 PHP 版本(7.4 / 8.1 / 8.2)
  • ✅ 同時並存
  • ✅ 切換 CLI PHP 預設版本
  • ✅ 啟用不同版本的 PHP-FPM

一、安裝 Remi Repository

Rocky Linux 預設只提供單一 PHP 版本,因此需要使用 Remi repo 來安裝多版本 PHP。

1️⃣ 安裝 Remi 與 EPEL

dnf install -y https://rpms.remirepo.net/enterprise/remi-release-$(rpm -E %rhel).rpm
dnf install -y epel-release
dnf update -y

2️⃣ 重設系統 PHP module

dnf module reset php -y

⚠️ 注意:不要使用 dnf module enable php:remi-xx
否則會變成單一 system PHP。


二、安裝多個 PHP 版本(並存模式)

我們使用 Remi 的 平行安裝版本(remi-safe)


✅ 安裝 PHP 7.4

dnf install -y php74 php74-php-cli php74-php-fpm php74-php-mysqlnd php74-php-gd php74-php-mbstring php74-php-xml php74-php-curl php74-php-zip

安裝完成後可用:

/usr/bin/php74

✅ 安裝 PHP 8.1

dnf install -y php81 php81-php-cli php81-php-fpm php81-php-mysqlnd php81-php-gd php81-php-mbstring php81-php-xml php81-php-curl php81-php-zip

✅ 安裝 PHP 8.2

dnf install -y php82 php82-php-cli php82-php-fpm php82-php-mysqlnd php82-php-gd php82-php-mbstring php82-php-xml php82-php-curl php82-php-zip

三、查看已安裝 PHP 版本

ls /usr/bin/php*

或:

alternatives --list | grep php

四、切換 CLI PHP 版本(推薦方法)

建議使用 alternatives 系統機制 切換 CLI PHP。


1️⃣ 註冊不同版本到 alternatives

如果尚未註冊:

alternatives --install /usr/bin/php php /usr/bin/php74 74
alternatives --install /usr/bin/php php /usr/bin/php81 81
alternatives --install /usr/bin/php php /usr/bin/php82 82

2️⃣ 選擇預設 CLI PHP

alternatives --config php

系統會顯示:

1   /usr/bin/php74
2   /usr/bin/php81
3   /usr/bin/php82

輸入對應號碼即可切換。


3️⃣ 確認切換成功

php -v

應顯示所選版本。


五、臨時使用指定版本(不切換系統)

如果只想執行某個版本,不需更改預設:

php74 -v
php81 -v
php82 -v

或執行腳本:

php81 script.php

六、啟用不同版本 PHP-FPM

多版本 FPM 可以同時存在。

例如啟動 PHP 7.4 FPM:

systemctl enable php74-php-fpm
systemctl start php74-php-fpm

查看狀態:

systemctl status php74-php-fpm

同樣方法可啟動 8.1 或 8.2。


七、檢查目前 CLI PHP 位置

which php
php -v

應顯示:

/usr/bin/php

八、總結

✅ 使用 Remi repo 安裝多版本 PHP
✅ 使用 remi-safe 平行安裝
✅ 使用 alternatives 切換 CLI
✅ FPM 可同時並存
✅ 不建議使用 module enable(除非只需要單一版本)