PHP - “git pull” 在反引号时没有给出输出


PHP - "git pull" gives no output on backtick

>我有以下代码

<?php
$output = `git status`;
var_dump($output);
die;

这给了我正确的输出,那么为什么当我这样做时,我什么也得不到呢?

<?php
$output = `git pull origin master`;
var_dump($output);
die;

由于某种原因,代码没有被执行,因为在我调用后存储库没有更新。

这是怎么回事?

我遇到的问题是输出被定向到 stderr,而不是 stdout。这就是为什么我没有输出的原因。我用这个修复了它:

<?php
$output = `git pull origin master 2>&1`;
var_dump($output);
die;
我相信

我遇到了这个问题。当您使用 PHP 执行 Git 命令时,值得重置您的工作目录,以便:

$output = `cd /path/to/project && git pull origin master`;

另外,请记住,PHP 可能不会使用您在控制台上拥有的PATH,因此使用其完全限定路径调用 git 也可能是值得的。