Xampp PHP7 with PHP5 in Windows



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

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

当我使用 cmd 导航到 Xampp7 并打开命令行 php -v 时。我不明白如果这个 xampp 有 PHP 7,为什么它仍然向我显示 PHP 5。我想知道为什么会这样?我该如何解决它?

谢谢

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

C:UsersYourUser> c:/xampp7/php/php.exe  -v

。或者你已经正确设置了路径变量,所以当你调用php.exe时,将搜索PHP目录。

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

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

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

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

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

最好的办法是为不同版本的 php 运行不同的应用程序,方法是在 xampp 中添加不同版本的 php。 帮助链接。 或者你可以离开xampp,开始使用便携式拉拉贡

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

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

但是,您只需cd'dC:Xampp7- 这将导致PATH中的最终查找,因为C:Xampp7不包含php.exe

如果您cdC:Xampp7phpbin并运行php -v它将按预期报告版本 7。

根据需要实现的目标,使用绝对路径或更改PATH变量。

最新更新