如何在 Ubuntu 中切换多个 PHP 版本
创始人
2024-03-01 23:59:20
0

有时,最新版本的安装包可能无法按预期工作。你的程序可能与更新的软件包不兼容,并且仅支持特定的旧版软件包。在这种情况下,你可以立即将有问题的软件包降级到其早期的工作版本。请参阅我们的旧指南,在这了解如何降级 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中国 荣誉推出

相关内容

豆包输入法macOS版正式...
爱思助手消息,5月12日,继安卓、iOS版本之后,豆包输入法苹果m...
2026-05-15 13:23:42
苹果macOS 26.5正...
IT之家 5 月 12 日消息,苹果今日向 Mac 电脑用户推送了...
2026-05-12 16:02:11
蚂蚁百灵正式开源Ling-...
4月29日,蚂蚁百灵大模型宣布Ling-2.6-flash正式开源...
2026-05-09 18:22:34
Fedora 44 正式发...
Fedora Linux 44 已正式发布,提供多种格式,支持多个...
2026-05-06 06:51:13
苹果macOS 26.5开...
IT之家 4 月 21 日消息,苹果今日向 Mac 电脑用户推送了...
2026-05-06 06:51:07
苹果macOS 26.4....
4 月 10 日消息,苹果今日向 Mac 电脑用户推送了 macO...
2026-04-10 15:03:10

热门资讯

为什么计量 IT 的生产力如此... 在某些行业里,人们可以根据一些测量标准判定一个人的生产力。比如,如果你是一个零件制造商,可以通过一个...
硬核观察 #885 苹果 AR... 苹果 AR 眼镜被无限期推迟据报道,由于技术上的挑战,苹果公司已经无限期推迟了其轻型增强现实(AR)...
值得收藏的 27 个机器学习的... 机器学习 ( Machine Learning ) 有很多方面,当我开始研究学习它时,我发现了各种各...
PHP最佳实践(译) 简介PHP是一门复杂的语言,经过多年折腾,使其不同版本之间高度不一致,有时还有些bug。 每个版本都...
8 个提升你的隐私防护的开源密... 使用一些顶级开源密码管理器,确保你的登录凭证安全无虞。密码管理器是一项非常有用的实用程序。在你想寻找...
8个有趣的Linux提示与技巧... 我们时不时给你带来关于Linux的提示与技巧。和这个系列保持一致,这里有8个我们从读者收到最有趣的提...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...