Windows中的Xampp PHP7和PHP5

时间:2018-09-16 17:56:21

标签: php xampp

我有一个Xampp版本,它具有PHP5。它可以正常工作,问题是我安装了一个新的Xampp,它具有PHP 7,我在本地主机:80中运行了第一个xampp,在本地主机中运行了另一个xampp: 8085。

我在不同的文件夹中有两个Xampp,第一个在C:/ xampp中,第二个在C:/ xampp7

当我使用cmd导航到Xampp7并在命令行上放置php -v时。我不明白为什么如果此xampp具有PHP 7,它仍然向我显示PHP5。我想知道为什么会这样吗?以及我该如何解决?

谢谢

3 个答案:

答案 0 :(得分:0)

如果您在Windows上使用php安装,则要从cli调用PHP,您必须将完整路径引用到php.exe

C:\Users\YourUser> c:/xampp7/php/php.exe  -v

...或者您已经正确设置了路径变量,因此在调用php.exe时将搜索PHP目录。

如果您有两个xampp文件夹,并且从php文件夹之外的任何地方调用php.exe,则Windows将查找path变量并检测找到的第一个变量。

如果要更改此行为,请使用上述绝对路径,或相应地设置path变量。

答案 1 :(得分:0)

实际上,php5是在环境变量“ path”中设置的。这就是为什么cmd“ php -v”报告php5的原因。

如果在环境变量“ path”中设置php7路径,则cmd“ php -v”将返回php7。

因此,无论您是否将xampp安装在其他文件夹中,它都不会根据文件夹执行,而是根据环境变量“路径”执行php或mysql。

通过在xampp中添加不同版本的php,您可以尽力为不同版本的php运行不同的应用程序。 help link。 或者,您可以离开xampp并开始使用laragon portable

答案 2 :(得分:0)

请查看Windows中的命令搜索顺序:https://technet.microsoft.com/en-us/library/cc723564.aspx#XSLTsection127121120120 (标题:命令搜索顺序)

如果您cd'd进入文件夹,则本地文件(步骤6)优先于PATH变量(步骤7)中列出的文件夹

但是,您只是cd'd进入C:\Xampp7-这将导致在PATH中进行最终查找,原因是C:\Xampp7不包含php.exe < / p>

如果您将cd插入C:\Xampp7\php\bin并运行php -v,它将按预期报告版本7。

取决于您要实现的目标,使用绝对路径或更改PATH变量。