无法通过php运行git pull命令

时间:2017-04-03 09:51:10

标签: php git batch-file

我无法通过php从git服务器远程提取文件。我写了以下BAT代码,并试图通过PHP执行它。  批处理文件git1.bat是以下内容:

cd C:\repos\rep2 && git pull origin master 2>&1

php代码:

<?php
echo shell_exec("C:\\xampp\htdocs\AS-otg\\git1.bat");
?>

我得到的输出:

enter image description here

但是,当我直接从cmd执行相同操作时,我得到了所需的结果。 enter image description here

我尝试了一些其他的git命令,比如log等,工作得很好。 我需要通过php才能做到这一点......请帮助。

1 个答案:

答案 0 :(得分:1)

log是一个本地命令,不需要与远程主机通信。 pull首先fetch。您似乎在另一个用户下运行PHP脚本,而不是手动运行脚本。如果您手动运行它,则使用SSH密钥对远程服务器进行身份验证,并且当PHP脚本运行脚本时,有效用户没有使用该SSH密钥进行身份验证。

顺便说一下。你应该记住,拉动不适合非交互式地完成。当进行拉动时,如果传入的变化不是快进的话,你很容易就会发生冲突。