2017-04-03 33 views
1

我无法通过php从git服务器远程拖拉文件。我写了下面的BAT代码,并试图通过php执行它。 批处理文件git1.bat是如下:无法通过php运行git pull命令

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

PHP代码:

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

输出我得到:

​​3210

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

我尝试了一些其他的git命令,如日志等工作得很好。 我需要通过PHP来做到这一点...请帮助。

回答

1

log是一个本地命令,不需要与远程主机通话。 pull先做fetch。看起来你正在另一个用户下运行PHP脚本,而不是手动运行脚本。如果手动运行它,则使用SSH密钥对远程服务器进行身份验证,并且在PHP脚本运行脚本时,有效用户不具有该SSH密钥进行身份验证。

Btw。您应该记住拉不适合以非交互方式完成。当进行拉动时,如果传入的变化不是快进的,你很容易发生冲突。