• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

谈谈Ubuntu怎么切换多个 PHP 版本

武飞扬头像
PHP中文网
帮助193

有时,最新版本的安装包可能无法按预期工作。你的程序可能与更新的软件包不兼容,并且仅支持特定的旧版软件包。在这种情况下,你可以立即将有问题的软件包降级到其早期的工作版本。

但是,你无需降级某些软件包。我们可以同时使用多个版本。例如,假设你在测试部署在 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 版本之间切换

要查看 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.x切换到 PHP 7.x

首先使用命令禁用 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

同样,你可以从 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 兼容。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanfeeba
系列文章
更多 icon
同类精品
更多 icon
继续加载