【问题标题】:Git Bash for Windows does not see custom command php8适用于 Windows 的 Git Bash 看不到自定义命令 php8
【发布时间】:2023-01-29 23:15:35
【问题描述】:

我已经在 Windows 10 上安装了 php 7.4 和 php 8.1 在不同的文件夹 PHP7 和 PHP8 中。我已将 C:/PHP7 放入 PATH(环境变量)中,现在当我在终端(CMD、PowerShell 和 Git Bash)中键入 php 时,正在运行 php7。

对于 php8 我做了一个自定义命令php8通过创建一个php8.cmd具有以下简单内容的文件:

"C:/PHP8/php.exe"  %*

我已经把文件所在的文件夹放在PATH中了。

都好。现在,当我在命令行中键入 php8 或 PowerShell 正在运行 php 8 时。但是如果我在 Git Bash 中键入 php8,它会显示 bash: php8: command not found

不知何故,Windows 版 Git Bash 看不到新的自定义命令。我不确定是否需要单独制作.sh在其中放置等效内容的文件php8.cmd文件或者如果只是配置 Git Bash 以查看php8.cmd文件。

我也不知道 shell 脚本中的 "C:/PHP8/php.exe" %* 是什么。

有人能帮忙吗?

我这样做是因为我有一个基于 Laravel8 的应用程序(使用 php 7.4)并且我想在 Laravel 9(需要 php 8)上切换它。所以我想启动一个单独的文件夹,在其中使用 Laravel 9 测试应用程序(以查看我需要对代码库进行哪些更改或哪些依赖项需要升级)。在我的 PhpStorm 中,我使用 Git Bash 作为集成终端,这就是为什么我希望自定义命令 php8 也能在 Git Bash 中工作。

非常感谢!

【问题讨论】:

  • 这回答了你的问题了吗? Git Bash doesn't see my PATH
  • 我通过在 .bash_profile 文件中放置一个类似 php8=/path/to/php8 可执行文件的别名命令来使其工作。现在我可以使用 PHP 8 运行 php8 artisan 命令。composer update(使用默认的 PHP 7)仍然有问题,但我使用 --ignore-platform-reqs 标志运行命令,现在我的应用程序在 Laravel 9 上运行
  • 太棒了,你找到了解决方案!我将此添加为答案,以便其他人可以从您的解决方案中受益。 :)

标签: php windows shell


【解决方案1】:

尝试将 php8 二进制文件(可执行文件)的路径添加到您的环境中。

例如,在 Linux 上将 php8=/usr/bin/php8 别名添加到 .bash_profile。您可以通过在 shell 中运行 which php 来找出路径。

然后您应该能够使用php8 在 php8 中运行 php 命令。

还要通过添加 --ignore-platform-reqs 参数或在 composer.json 中设置以下内容来确保作曲家使用正确的 php 版本

"config": {
    "platform": {
        "php": "8.0.0"
    }
}

【讨论】:

    猜你喜欢
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    • 2015-05-18
    • 2018-08-06
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多