如何在不同的PHP版本上同时运行两个不同版本的Laravel?

4

我在我的电脑上运行了一个Laravel 7的项目,并安装了PHP版本为7.2.5。我想要运行另一个需要PHP版本>=7.3的Laravel 8项目。我该怎么做呢?我想同时在我的电脑上运行这两个项目。谢谢!


1
通常情况下,不可能同时运行两个版本。但是您可以将项目docker化,并使每个容器使用相应的PHP版本运行。 - Aless55
我认为 Laravel 7 不支持 Sail? - hydar_akbar
1个回答

2
您可以使用Docker来实现。您可以创建两个不同的Docker容器,一个是PHP 7,另一个是PHP 8。
或者,如果您正在使用WAMP或其他类型的堆栈,则应该有一些部分可以更改PHP版本。

enter image description here

然而,我建议您使用Docker。 Laravel 9随附了Sail(我猜旧版本也是如此),您只需安装Docker桌面版并运行即可。
sail up

在您的项目文件夹内,但如果您检查“sail”包,您会看到。
    "require": {
        "php": "^7.3|^8.0",

它需要至少 PHP 7.3。

我安装了两个xampp,一个是带有PHP版本7.2.5的,适用于Laravel 7项目,运行良好;另一个是带有PHP版本8.0的。我更改了第二个xampp的Apache和MySQL端口,在phpinfo.php中显示为8.0,但当我尝试运行“composer install”命令时,它会给出错误提示,说你的PHP版本是7.2.5(检测到旧的PHP版本)。我以为它会工作,但不是!:( - hydar_akbar
软件包laravel/sail的要求与您的PHP版本、PHP扩展和Composer版本不兼容:
  • laravel/sail v1.13.5需要php ^7.3|^8.0,而您安装的版本为7.2.5,不符合要求。
- hydar_akbar
这是一个错误,如果我更改PHP版本7.2.5并升级它,我的Laravel 7运行项目将无法运行。 - hydar_akbar
1
是的,我在我的答案中说过Laravel Sail至少需要php 7.3。您不需要为您的Laravel 7使用sail,也不能这样做。您应该在旧的Laravel 7项目中使用wamp,并在Laravel 8项目中使用sail。将WAMP PHP版本更改为旧版本,从那里为您的Laravel 7项目提供服务,只需对您的Laravel 8项目使用"sail up"命令即可。 - gguney
你说得对。我尝试在导航到我的Laravel 8项目目录后运行sail up命令,但它显示sail不是内部或外部命令(这意味着我必须先安装sail)。我运行了composer require laravel/sail --dev,但它给出了相同的错误(PHP版本)。 - hydar_akbar
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接