git pull with shell_exec

时间:2018-03-13 14:15:40

标签: php git ssh

我正在尝试在共享服务器上设置自动git pull,当我推送到github存储库时会触发该服务器。

我设置了github repo,当我通过服务器上的ssh登录时,我可以从本地机器上推/拉。

当我在控制台中输入git pull时,它就像魅力一样,文件也会更新。但是当我使用php shell_exec时,我收到一条错误消息:

Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

这是我调用的php文件的内容:

$output = shell_exec('git pull 2>&1');
echo "<h1>Github pull</h1>";
echo "<pre>".$output."</pre>";

1 个答案:

答案 0 :(得分:0)

当你进入服务器时,你正在使用另一个OS用户。 Web服务器进程可能有自己的用户。您需要将git服务器的密钥添加到该Web服务器用户的已知主机列表中。