本文示範如何在 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(除非只需要單一版本)
