【问题标题】:Xampp PHP7 with PHP5 in WindowsWindows 中的 Xampp PHP7 和 PHP5
【发布时间】:2018-09-16 17:56:21
【问题描述】:

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

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

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

谢谢

【问题讨论】:

    标签: php xampp


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      【解决方案2】:

      其实php5是在你的环境变量“path”中设置的。所以cmd "php -v" 报php5。

      如果你在环境变量“path”中设置了php7路径,那么cmd“php -v”会返回php7。

      所以,无论你是否将xampp安装在不同的文件夹中,它都不会根据文件夹执行,而是根据环境变量“path”执行php或mysql。

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

      【讨论】:

        【解决方案3】:

        请查看 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

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

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

        【讨论】:

          猜你喜欢
          • 2017-09-18
          • 2019-07-05
          • 2016-06-20
          • 2020-03-09
          • 1970-01-01
          • 2010-09-16
          • 1970-01-01
          • 2017-04-10
          • 2019-10-09
          相关资源
          最近更新 更多