有时,最新版本的安装包可能无法按预期工作。您的程序可能与较新的软件包不兼容,并且仅支持特定的遗留软件包。在这种情况下,您可以立即将有问题的软件包降级到其早期的工作版本。请在此处查看我们关于如何在Ubuntu及其衍生产品中降级软件包以及如何在ArchLinux及其衍生产品中降级软件包的旧指南。但是,您不需要降级某些软件包。我们可以同时使用多个版本。例如,假设您正在使用部署在Ubuntu18.04LTS中的LAMP堆栈测试PHP程序。一段时间后,您发现该应用程序在PHP5.6中可以正常运行,但在PHP7.2中却不行(Ubuntu18.04LTS默认安装PHP7.x)。您要重新安装PHP还是整个LAMP堆栈?但没有必要。您甚至不必将PHP降级到其早期版本。在这个简短的教程中,我将向您展示如何在Ubuntu18.04LTS中的多个PHP版本之间切换。这并不像您想的那么难。继续阅读。在多个PHP版本之间切换要查看默认安装的PHP版本,请运行:$php-vPHP7.2.7-0ubuntu0.18.04.2(cli)(内置:2018年7月4日16:55:24)(NTS)版权所有(c))1997-2018ThePHPGroupZendEnginev3.2.0,Copyright(c)1998-2018ZendTechnologieswithZendOPcachev7.2.7-0ubuntu0.18.04.2,Copyright(c)1999-2018,byZendTechnologies请参阅PHP版本安装的是7.2.7。测试你的程序几天后,你会发现你的程序不支持PHP7.2。在这种情况下,最好同时使用PHP5.x和PHP7.x,这样您就可以随时轻松地在任何受支持的版本之间切换。您不必删除PHP7.x或重新安装LAMP堆栈。您可以同时使用PHP5.x和7.x版本。我假设您还没有从系统中卸载PHP5.6。如果您已删除它,您可以使用下面的PPA重新安装它。您可以从PPA安装PHP5.6:$sudoadd-apt-repository-yppa:ondrej/php$sudoaptupdate$sudoaptinstallphp5.6从PHP7.x切换到PHP5.x。首先使用命令禁用PHP7.2模块:$sudoa2dismodphp7.2Modulephp7.2已禁用。要激活新配置,您需要运行:systemctlrestartapache2接下来,启用PHP5.6模块:$sudoa2enmodphp5.6将PHP5.6设置为默认版本:$sudoupdate-alternatives--setphp/usr/bin/php5.6或者,您可以运行以下命令来设置默认使用的全局PHP版本。$sudoupdate-alternatives--configphp输入选择的数字将其设置为默认版本,或者直接按回车键保留当前选择。如果您安装了其他PHP扩展,请将它们设置为默认值。$sudoupdate-alternatives--setphar/usr/bin/phar5.6最后,重启ApacheWeb服务器:$sudosystemctlrestartapache2现在,检查PHP5.6是否为默认版本:$php-vPHP5.6.37-1+ubuntu18.04.1+deb.sury.org+1(cli)版权所有(c)1997-2016ThePHPGroupZendEnginev2.6.0,版权所有(c)1998-2016ZendTechnologieswithZendOPcachev7.0.6-dev,版权所有(c)1999-2016,由ZendTechnologies从PHP5.x切换到PHP7.x。同样,您可以从PHP5.x切换到PHP7.x版本,如下所示。$sudoa2enmodphp7.2$sudoa2dismodphp5.6$sudoupdate-alternatives--setphp/usr/bin/php7.2$sudosystemctlrestartapache2提醒一句:PHP5.6的最终稳定版本已于1月发布2017年19日,主动支持结束。但是,PHP5.6将继续获得关键安全问题的支持,直到2018年12月31日。因此,建议尽快升级所有PHP程序以兼容PHP7.x。如果您希望以后防止PHP自动升级,请参考以下指南。就这样。希望这可以帮助。还有更多好东西。敬请关注!
