Linux中國

如何在 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 的默認安裝版本,請運行:

$ 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.2.7。在測試你的程序幾天後,你會發現你的程序不支持 PHP7.2。在這種情況下,同時使用 PHP5.x 和 PHP7.x 是個不錯的主意,這樣你就可以隨時輕鬆地在任何支持的版本之間切換。

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

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

你可以從 PPA 中安裝 PHP 5.6:

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

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

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

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

接下來,啟用 PHP 5.6 模塊:

$ sudo a2enmod php5.6

將 PHP 5.6 設置為默認版本:

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

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

$ sudo update-alternatives --config php

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

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

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

最後,重啟 Apache Web 伺服器:

$ sudo systemctl restart apache2

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

$ php -v
PHP 5.6.37-1+ubuntu18.04.1+deb.sury.org+1 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
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 版本,如下所示。

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

提醒一句:

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

如果你希望防止 PHP 將來自動升級,請參閱以下指南。

就是這些了。希望這有幫助。還有更多的好東西。敬請關注!

乾杯!

via: https://www.ostechnix.com/how-to-switch-between-multiple-php-versions-in-ubuntu/

作者:SK
選題:lujun9972
譯者:geekpi
校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理

    More in:Linux中國

    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...
    Linux中國

    SSL/TLS 加密新紀元 – Lets Encrypt

    根據 Let's Encrypt 官方博客消息,Let's Encrypt 服務將在下周(11 月 16 日)正式對外開放。 Let's Encrypt 項目是由互聯網安全研究小組(ISRG,Internet Security Research Group)主導並開發的一個新型數字證書認證機構(CA,Certificate ...