热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php版本不同写的代码也不同,技术|如何在Linux中切换相同程序的不同版本

几天前,我们曾经讨论如何在不同的PHP版本之间进行切换。在那篇文章中,我们使用update-alternatives命令实现从一个PHP版本切换到另一个

几天前,我们曾经讨论如何在不同的 PHP 版本之间进行切换。在那篇文章中,我们使用 update-alternatives 命令实现从一个 PHP 版本切换到另一个 PHP 版本。也就是说,update-alternatives 命令可以将系统范围system wide默认使用的 PHP 版本设置为我们希望的版本。通俗的来说,你可以通过 update-alternatives 命令从系统范围设置程序的版本。如果你希望可以在不同目录动态设置不同的程序版本,该如何完成呢?在这种情况下,alt 工具可以大显身手。alt 是一个命令行工具,可以让你在类 Unix 系统中切换相同程序的不同版本。该工具简单易用,是 Rust 语言编写的自由、开源软件。

安装

安装 alt 工具十分简单。

运行如下命令,即可在 Linux 主机上安装 alt:

下一步,将 shims 目录添加到你的 PATH 环境变量中,具体操作取决于你使用的 Shell。

对于 Bash:

对于 Zsh:

对于 Fish:

现在 alt 已经安装完毕!

使用 alt 工具在 Linux 系统中切换相同程序的不同版本

如我之前所述,alt 只影响当前目录。换句话说,当你进行版本切换时,只在当前目录生效,而不是整个系统范围。

下面举例说明。我在我的 Ubuntu 系统中安装了两个版本的 PHP,分别为 PHP 5.6 和 PHP 7.2;另外,在 myproject 目录中包含一些 PHP 应用。

首先,通过命令查看系统范围默认的 PHP 版本:

示例输出:

442ff9a4b31d1580e914fe18c2f2d3a6.png

如截图中所示,我系统中默认的 PHP 版本为 PHP 7.2。

然后,我将进入放置 PHP 应用的 myproject 目录。

使用如下命令扫描可用的 PHP 版本:

示例输出:

f3e876a99453808ea0e410abd4e6f0cc.png

可见,我有两个 PHP 版本,即 PHP 5.6 和 PHP 7.2。按下 键选中当前可用的版本。选中全部可用版本后,你可以看到图中所示的叉号cross mark。使用上下方向键在版本间移动,点击回车即可保存变更。

a5f121155c83b0ee891713b6468cc651.png

下面运行该命令并选取我们希望在 myproject 目录中使用的 PHP 版本:

我希望使用 PHP5.6 版本,故我(使用方向键)选取该版本并点击回车键。

ebd67be6bc0a1658adad577c0dbc8928.png

现在,你可以在 /home/sk/myproject 目录下使用 PHP 5.6 版本啦。

让我们检查一下,在 myproject 目录下是否默认使用 PHP 5.6 版本:

示例输出:

1c7badd19039a3261a5bf575c2891b59.png

只要你不设置成其它版本,(在该目录下)将一直使用 PHP 5.6 版本。清楚了吗?很好!请注意,我们仅在这个目录下使用 PHP 5.6 版本。在系统范围内(LCTT 译注:当然是没单独设置过其它版本的目录下),PHP 7.2 仍是默认的版本。让我们检验一下,请看下图。

57f59acb248c3496edeafe859733ec3b.png

从上面的截图中可以看出,我有两个版本的 PHP:在 myproject 目录下,使用的版本为 PHP 5.6;在 myproject 外的其它目录,使用的版本为 PHP 7.2。

同理,你可以为每个目录设置你希望的程序版本。我这里使用 PHP 仅用于说明操作,但方法适用于任何你打算使用的软件,例如 NodeJS 等。

下面是 NodeJS 的示例视频。

0558ce1ff556487c6010512a95c1c85c.gif

如果你希望在不同软件包版本下测试你的应用,那么 alt 是你不错的选择。

本次分享到此结束。后续还有更多内容,敬请期待!

干杯!

本文由 LCTT 原创编译,Linux中国 荣誉推出 linisi.svg



推荐阅读
author-avatar
尕丑de眸_879
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有