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

$ 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 將來自動升級,請參閱以下指南。

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

 

 


 

The mbstring extension is missing. Please check your PHP configuration.

平台:阿里雲

系統:Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-52-generic x86_64)

問題:安裝phpmyadmin后,打開http://ip/phpmyadmin報錯:The mbstring extension is missing. Please check your PHP configuration.

解決辦法:(參考https://blog.csdn.net/huanglin6/article/details/107314909)

sudo apt-get update

sudo apt-get install libapache2-mod-php7.*
sudo apt-get install php7.*-mbstring
sudo service apache2 restart

 


比如php7.1撤換為php7.4,原來正常訪問的網站,如果出現如下提示信息:

Your PHP installation appears to be missing the MySQL extension which is required by WordPress.

解決辦法  參考https://blog.csdn.net/wbryfl/article/details/82729477

補充:

sudo apt-get install php-mysql
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/mysql restart

 

Ubuntu18.04 安裝 Phpmyadmin

有關phpmyadmin mbstring模塊沒有啟用的問題

Discuz在服務器配置安裝時出現xml_parser_create()不支持 

如果ubuntu下安裝不同php版本的,不指定當前具體使用的什么版本,可以通過"php -v"查看當前使用的php版本,如果要切換不同php版本,出現

xml_parser_create()不支持 ,一般安裝相應的phpx.y-xml包即可,操作方法如下“

假如要使用php7.4.9版本,可以通過如下命令

sudo apt-get update

sudo apt-get install php7.4-xml

即可完美解決”xml_parser_create()”不支持“問題或“discuz Call to undefined function xml_parser_create()”等現象。

更新完php7.4-xml,然后重啟apache2即可解決。

 

 

NMP下解決配置phpmyadmin【The mbstring extension is missing……】問題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM