在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 将来自动升级,请参阅以下指南。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:zbxhhzj@qq.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。 转载本站文章请保留原文链接,如文章内说明不允许转载该文章,请不要转载该文章,谢谢合作。
相关文章
- PHP时区设置相差8小时间程序与php.ini配置方法
- 你不知道的PHP小技巧之计算文本相似度
- MySQL与PHP设置时区(mysql时区php)
- PHP与MySQL融合,尽享轻松开发(php与mysql整合)
- 妙用Linux:快速启动PHP程序(linux如何启动php)
- 基于MySQL的PHP留言板系统开发(php留言板mysql)
- MySQL指令的灵活执行:PHP的强大助力(php执行mysql)
- Linux更新PHP,提升程序品质(linux更新php)
- 快速安装配置PHP在Linux系统上(php安装配置linux)
- 实现PHP程序Redis连接池的简单方法(redis连接池php)
- 搭建 PHP 环境,在 Linux 系统里更轻松!(php环境linux)
- Ubuntu系统下安装MySQL数据库(ubuntu下安装mysql)
- Linux系统如何实现PHP开机自启动?(linux开机启动php)
- PHP实现在Linux系统中进行文件操作(php写linux文件)
- PHP使用Redis实现数据存储(php连接redis)
- 使用PHP在Linux系统中运行命令(php运行linux命令)
- PHP封装Redis:提高工作效率(封装php redis)
- PHP如何开启MSSQL支持?(php怎么开启mssql)
- PHP与MSSQL架构构建的网站系统实践(php mssql 架构)
- Linux系统下 PHP的安装和配置(linux下php的安装)
- 菜鸟学习Redis提升PHP运行效率(菜鸟 redis php)
- 混合开发助力企业信息化C语言PHP和MySQL联动提升系统性能(c php mysql)
- 借助Oracle和PHP打造高效网络系统(oracle php系统)
- PHP通用分页类page.php[仿google分页]
- php基于base64解码图片与加密图片还原实例