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

时间:2015-01-28 22:10:36

标签: php git backticks

我有以下代码

<?php

$output = `git status`;
var_dump($output);
die;

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

<?php

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

由于某些原因导致代码没有被执行,因为在我打电话后存储库没有更新..

发生了什么事?

2 个答案:

答案 0 :(得分:3)

我遇到的问题是输出是针对stderr的,而不是stdout。这就是为什么我没有输出。我修好了这个:

<?php

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

答案 1 :(得分:2)

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

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

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