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;

由于某些原因,代码没有得到执行,因为在我调用后存储库没有更新..

这是怎么回事?

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

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

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

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

<?php

$output = `git pull origin master 2>&1`;
var_dump($output);
die;