多个不同的 PHP 版本不工作

Multiple Different PHP version is not working

在我的系统中,我安装了 2 xampp 个服务器。

一个 xampp 服务器 php 版本是 5.6,第二个 xampp 服务器 php 版本是 7.3。

在两个服务器路径中,命令行仅显示 php 5.6 版本。
支持的 7.3 不工作。
在两个服务器路径中显示 php 5.6。

所以当我使用 Composer 并且 Laravel 总是获取 php 5.6.

请帮我解决这个问题..

您正在尝试 运行 CLI 版本的 PHP.
所以这都是关于你的 PATH 变量。

Windows 在 PATH 变量中查找路径以了解可执行文件的位置。

顺便说一下,php.exe 它在 c:\xampp\php 目录中。 而且,7.3 将在 c:\xampp_7.3\php 目录中。

当然,PATH 变量类似于 PATH=c:\xampp\php;...
这就是为什么总是选择 5.6 版本的原因。

运行 命令 c:\set PATH 将显示您的设置,如:

Path=C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Python38\Script
s\;C:\Python38\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windo
ws\System32\WindowsPowerShell\v1.0\;C:\xampp\php;...

要工作,通过更改 PATH 变量,您需要移动到 composer.phar 和 composer.json 和 运行 的路径:

c:\> cd \composer\file\
c:\composer\file> \xampp_7.3\php\php.exe composer.phar install

更多信息在这里: How to determine path to php.exe on Windows - search default paths

更新:

作为替代方案,您可以设置两个环境变量并像下面这样使用它们:

c:\> set PHP56="c:\xampp\php\php.exe"
c:\> set PHP73="c:\xampp_7.3\php\php.exe"

c:\> %PHP56% -v
PHP 5.6.40 (cli) (built: Jul  2 2019 15:10:36) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

c:\> %PHP73% -v
PHP 7.3.10 (cli) (built: Jul  2 2019 13:01:33) 
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies