我无法通过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");
?>
我得到的输出:
我尝试了一些其他的git命令,比如log等,工作得很好。 我需要通过php才能做到这一点......请帮助。
答案 0 :(得分:1)
log
是一个本地命令,不需要与远程主机通信。 pull
首先fetch
。您似乎在另一个用户下运行PHP脚本,而不是手动运行脚本。如果您手动运行它,则使用SSH密钥对远程服务器进行身份验证,并且当PHP脚本运行脚本时,有效用户没有使用该SSH密钥进行身份验证。
顺便说一下。你应该记住,拉动不适合非交互式地完成。当进行拉动时,如果传入的变化不是快进的话,你很容易就会发生冲突。