作为生产的初学者,您将面临许多您在进行个人项目时不知道的问题,其中一个人不得不处理使用较旧版本的PHP但也可以处理最新的旧项目同时PHP版本。这不仅是PHP,而且都会发生在每种编程语言中,因此我决定为那些刚开始并遇到这个问题的人撰写本文。
最简单的方法是在Docker上运行它,但这不是现在的话题,所以让我们开始。
本教程使用ubuntu,但它在任何其他发行版中都起作用。
安装多个版本
在ubuntu lts上,您需要添加Ondrej存储库来安装旧版本:
sudo add-apt-repository ppa:ondrej/php
对于此示例,我将安装PHP7.3
sudo apt install php7.3
如果您不指定PHP版本,则最新版本的PHP将从Ubuntu默认存储库中安装
sudo apt install php
现在在终端上,如果您检查了PHP版本,默认情况下它将来自Ubuntu的默认存储库
php -v
PHP 8.2.8 (cli) (built: Jul 8 2023 07:10:21) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.8, Copyright (c) Zend Technologies
with Zend OPcache v8.2.8, Copyright (c), by Zend Technologies
现在使用较旧的PHP版本,我们将创建一个符号链接,因此让我们将默认的PHP版本移至具有其版本名称的文件夹中。
sudo mv /usr/bin/php /usr/bin/php8.2
现在,如果您尝试使用php -v
,它将无法使用,因为现在已更改为php8.2
要将旧版本用作php命令,您现在将创建一个符号链接,该链接称为php
时称您所需的PHP版本。
sudo ln -s /usr/bin/php7.3 /usr/bin/php
现在,如果您尝试php -v
,则在创建符号链接时指定的PHP版本应运行。
php -v
PHP 7.3.33-11+ubuntu22.04.1+deb.sury.org+1 (cli) (built: Jun 8 2023 15:22:14) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.33, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.33-11+ubuntu22.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
现在,要切换回您要创建另一个符号链接的任何其他PHP版本,
sudo unlink /usr/bin/php
,只需重复多个版本的PHP
之间的链接和连接以切换
sudo ln -s /usr/bin/php8.2 /usr/bin/php
感谢您在这里弥补,请随时分享您的想法和问题