【问题标题】:How to run Git Bash commands using PHP如何使用 PHP 运行 Git Bash 命令
【发布时间】:2016-05-13 19:48:49
【问题描述】:

您好,我有以下方法,当触发时应该在 Git Bash 中运行命令。

function convert($tmpName, $fileName, $fileSize, $fileType){

}

命令会是这样的:

pyang -f yin -o H:\\YangModels\\yin\\ietf-inet-types.yin ietf-inet-types.yang

我正在查看 shell 命令 here,但不知道这是否与 Git Bash 有关。

正在寻找一种在运行 PHP 方法时在 Git Bash 中运行命令的方法,谢谢。

该命令必须通过 Git Bash 运行,它无法通过普通命令行或 Windows shell 运行。

编辑:一直在研究它,发现一个可能与我需要的命令相似的命令。用户似乎试图通过 cygwin 运行他的命令,试图将我的命令指定为目标 git bash 但还没有弄清楚。

$result = shell_exec('C:/cygwin/bin/bash.exe /c --login -i git');

【问题讨论】:

  • 第一次尝试在命令提示符下运行命令,然后在您的编程中按照相同的步骤进行操作。你有 exec()、system() 和更多的功能
  • 您在命令提示符下尝试了该命令,但它不起作用,在 windows shell 中也不起作用,似乎只在 git bash 中起作用

标签: php git bash


【解决方案1】:

exec 或 shell_exec 可以运行您通常通过命令行运行的任何命令,例如

shell_exec('cd /var/www && /path/to/git pull origin master');

我不确定您的代码是如何形成的,但可能类似于:

function convert($tmpName, $fileName, $fileSize, $fileType){
    $output = shell_exec('pyang -f '.$fileType.' -o '.$tmpName.' '.$fileName);
}

【讨论】:

  • 您好,感谢您的帮助,试过了,但没有发生变化。我尝试执行的命令仅适用于 Git Bash 而不是普通命令行,这就是 shell_exec 不起作用的原因吗?
  • 您能否提供正在使用的确切命令。 PATH 变量可能未设置,因此请尝试使用可执行文件的完整路径。
  • pyang -f yin -o H:\\YangModels\\yin\\ericsson-types-ipos.yin ericsson-types-ipos.yang 是完整的命令。当我通过 Git Bash 运行它时它可以工作,但是当上面的 PHP 方法触发时我需要运行它。我也用完整的路径名对其进行了测试,但到目前为止还没有运气。
猜你喜欢
  • 1970-01-01
  • 2022-12-11
  • 2021-06-06
  • 2017-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-01
  • 2017-08-08
相关资源
最近更新 更多