小编Mar*_*čič的帖子

来自Bitbucket服务器的Git pull

我从远程服务器上的php脚本运行git pull时遇到问题.我已经看了很多不同的资源来使它工作,但没有一个适合我.那么到目前为止我做了什么:

一切正常.

毕竟我写了一个简单的sh脚本,我打电话来自PHP.

  1. .sh脚本:

    #!/bin/sh
    git pull
    
    Run Code Online (Sandbox Code Playgroud)
  2. 和PHP脚本:

    <?php    
    $cmd="./gitpullsc.sh 2>&1";
    echo exec($cmd);
    ?>
    
    Run Code Online (Sandbox Code Playgroud)

我从网络浏览器运行php脚本,然后我回来了:

权限被拒绝(publickey).
致命:无法从远程存储库读取.

请确保您具有正确的访问权限并且存储库存在.

然后我尝试添加到脚本whoami(以查看运行php脚本的用户是否正确)并且我得到了apache.一切都好.

我使用Red Hat linux.

任何帮助赞赏:)

UPDATE

好吧,也许我发现了问题,但仍在寻找解决方案.

我再次运行sudo -u apache git pull,现在我再次被要求提供私钥密码.

但如果我运行命令,ssh-add -l我得到:

2048 ***数量写** /var/www/.ssh/id_rsa(RSA)

所以我认为一切都很好.但问题可能是我以这种方式运行ssh代理:

ssh-agent /bin/bash
Run Code Online (Sandbox Code Playgroud)

UPDATE

是的,问题实际上是密码提示.我仍然不知道如何解决它,但是现在我只是把密码留空了它的工作原理......

php apache git ssh bitbucket

5
推荐指数
1
解决办法
2058
查看次数

标签 统计

apache ×1

bitbucket ×1

git ×1

php ×1

ssh ×1