有時,最新版本的安裝包可能無法按預期工作。你的程式可能與更新的軟體包不相容,並且僅支援特定的舊版軟體包。在這種情況下,你可以立即將有問題的軟體包降級到其早期的工作版本。
但是,你無需降級某些軟體包。我們可以同時使用多個版本。例如,假設你在測試部署在 Ubuntu 22.04 LTS 中的LAMP 棧的 PHP 程式。過了一段時間,你發現應用程式在 PHP 7.2 中工作正常,但在 PHP 8.1 中不正常(Ubuntu 22.04 LTS 預設安裝 PHP 8.x)。你打算重新安裝 PHP 或整個 LAMP 棧嗎?
但是沒有必要。你甚至不必將 PHP 降級到其早期版本。在這個簡短的教學中,我將向你展示如何在 Ubuntu 22.04 LTS 中切換多個 PHP 版本。它沒你想的那麼難。請繼續閱讀。
要檢視 PHP 的預設安裝版本,請執行:
root@ubuntu-server:~# php -v PHP 8.1.7 (cli) (built: Jun 25 2022 08:13:46) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.7, Copyright (c) Zend Technologies with Zend OPcache v8.1.7, Copyright (c), by Zend Technologies
如你所見,已安裝的 PHP 的版本為 8.1.7。在測試你的程式幾天後,你會發現你的程式不支援 PHP7.2。在這種情況下,同時使用 PHP7.x 和 PHP8.x 是個不錯的主意,這樣你就可以隨時輕鬆地在任何支援的版本之間切換。
你不必刪除 PHP8.x 或重新安裝 LAMP 棧。你可以同時使用 PHP7.x 和 8.x 版本。
我假設你還沒有在你的系統中解除安裝 PHP 7.2。萬一你已將其刪除,你可以使用下面的 PPA 再次安裝它。
sudo add-apt-repository -y ppa:ondrej/php sudo apt update sudo apt install php7.2
首先使用命令禁用 PHP 8.1 模組:
root@ubuntu-server:~# a2dismod php8.1 Module php8.1 disabled. To activate the new configuration, you need to run: systemctl restart apache2
接下來,啟用 PHP 7.2 模組:
sudo a2enmod php7.2
將 PHP 7.2 設定為預設版本:
sudo update-alternatives --set php /usr/bin/php7.2
或者,你可以執行以下命令來設定預設情況下要使用的全域性 PHP 版本。
sudo update-alternatives --config php
輸入選擇的號碼將其設定為預設版本,或者只需按確認鍵保持當前選擇。
如果你已安裝其他 PHP 擴充套件,請將它們設定為預設值。
sudo update-alternatives --set phar /usr/bin/phar7.2
最後,重新啟動 Apache Web 伺服器:
sudo systemctl restart apache2
現在,檢查 PHP 7.2 是否是預設版本:
root@ubuntu-server:~# php -v PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul 4 2018 16:55:24) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.7-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies
同樣,你可以從 PHP 7.x 切換到 PHP 8.x 版本,如下所示。
sudo a2enmod php8.1 sudo a2dismod php7.2 sudo update-alternatives --set php /usr/bin/php8.1 sudo systemctl restart apache2
提醒一句:
目前穩定版php7.2已經停止支援
所以,建議儘快升級所有 PHP 程式並與 PHP 8.x 相容。
推薦學習:《》
VIP推薦:
以上就是聊聊Ubuntu中怎麼切換多個 PHP 版本的詳細內容,更多請關注TW511.COM其它相關文章!