如何在Ubuntu中切換多個PHP版本

如何在Ubuntu中切換多個PHP版本

有時,最新版本的安裝包可能無法按預期工作。你的程序可能與更新的軟件包不兼容,並且僅支持特定的舊版軟件包。在這種情況下,你可以立即將有問題的軟件包降級到其早期的工作版本。請參閱我們的舊指南,在這瞭解如何降級 Ubuntu 及其衍生版中的軟件包以及在這瞭解如何降級 Arch Linux 及其衍生版中的軟件包。但是,你無需降級某些軟件包。我們可以同時使用多個版本。例如,假設你在測試部署在 Ubuntu 18.04 LTS 中的LAMP 棧的 PHP 程序。過了一段時間,你發現應用程序在 PHP 5.6 中工作正常,但在 PHP 7.2 中不正常(Ubuntu 18.04 LTS 默認安裝 PHP 7.x)。你打算重新安裝 PHP 或整個 LAMP 棧嗎?但是沒有必要。你甚至不必將 PHP 降級到其早期版本。在這個簡短的教程中,我將向你展示如何在 Ubuntu 18.04 LTS 中切換多個 PHP 版本。它沒你想的那麼難。請繼續閱讀。

在多個 PHP 版本之間切換

要查看 PHP 的默認安裝版本,請運行:

  1. $ php -v
  2. PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul 4 2018 16:55:24) ( NTS )
  3. Copyright (c) 1997-2018 The PHP Group
  4. Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
  5. with Zend OPcache v7.2.7-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies

如你所見,已安裝的 PHP 的版本為 7.2.7。在測試你的程序幾天後,你會發現你的程序不支持 PHP7.2。在這種情況下,同時使用 PHP5.x 和 PHP7.x 是個不錯的主意,這樣你就可以隨時輕鬆地在任何支持的版本之間切換。

你不必刪除 PHP7.x 或重新安裝 LAMP 棧。你可以同時使用 PHP5.x 和 7.x 版本。

我假設你還沒有在你的系統中卸載 PHP 5.6。萬一你已將其刪除,你可以使用下面的 PPA 再次安裝它。

你可以從 PPA 中安裝 PHP 5.6:

  1. $ sudo add-apt-repository -y ppa:ondrej/php
  2. $ sudo apt update
  3. $ sudo apt install php5.6

從 PHP 7.x 切換到 PHP 5.x.

首先使用命令禁用 PHP 7.2 模塊:

  1. $ sudo a2dismod php7.2
  2. Module php7.2 disabled.
  3. To activate the new configuration, you need to run:
  4. systemctl restart apache2

接下來,啟用 PHP 5.6 模塊:

  1. $ sudo a2enmod php5.6

將 PHP 5.6 設置為默認版本:

  1. $ sudo update-alternatives --set php /usr/bin/php5.6

或者,你可以運行以下命令來設置默認情況下要使用的全局 PHP 版本。

  1. $ sudo update-alternatives --config php

輸入選擇的號碼將其設置為默認版本,或者只需按回車鍵保持當前選擇。

如果你已安裝其他 PHP 擴展,請將它們設置為默認值。

  1. $ sudo update-alternatives --set phar /usr/bin/phar5.6

最後,重啟 Apache Web 服務器:

  1. $ sudo systemctl restart apache2

現在,檢查 PHP 5.6 是否是默認版本:

  1. $ php -v
  2. PHP 5.6.37-1+ubuntu18.04.1+deb.sury.org+1 (cli)
  3. Copyright (c) 1997-2016 The PHP Group
  4. Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
  5. with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

從 PHP 5.x 切換到 PHP 7.x.

同樣,你可以從 PHP 5.x 切換到 PHP 7.x 版本,如下所示。

  1. $ sudo a2enmod php7.2
  2. $ sudo a2dismod php5.6
  3. $ sudo update-alternatives --set php /usr/bin/php7.2
  4. $ sudo systemctl restart apache2

提醒一句:

最終穩定版 PHP 5.6 於 2017 年 1 月 19 日達到活躍支持截止。但是,直到 2018 年 12 月 31 日,PHP 5.6 將繼續獲得對關鍵安全問題的支持。所以,建議儘快升級所有 PHP 程序並與 PHP 7.x 兼容。

如何在Ubuntu中切換多個PHP版本


分享到:


相關文章: