尝试从PHP脚本进行git checkout

时间:2014-12-04 07:06:23

标签: php git nginx ssh

我制作了一个小的php webhook,它执行git命令来检查分离的工作树中远程存储库中的代码。

我明白了:

error: cannot open .git/FETCH_HEAD: Permission denied

然后我将.git目录的所有权更改为www-data,以确保它由PHP脚本编写。我这样做是因为当我从浏览器执行whoami时,我得到了www-data。但现在我总是得到:

a:5:{i:0;s:29:"Host key verification failed.";i:1;s:45:"fatal: Could not create www/.ssh directory.";i:2;s:0:"";i:3;s:51:"Please make sure you have the correct access rights";i:4;s:26:"and the repository exists.";}

现在为此,我打开了/ etc / passwd,发现用户www-data的目录设置为/ var/www。因此,我使用root创建了/var/www/.ssh并执行了sudo chown -R www-data:www-data /var/www/.ssh

在新创建的.ssh目录中,我做了一个ssh-keygen,复制了公钥并添加到我的bitbucket帐户。

我再次尝试执行php脚本,但我得到了同样的错误。 'Host key verification failed'

任何接受者?我正在使用nginx和php-fpm

我尝试过这样做:https://serverfault.com/questions/362012/running-git-pull-from-a-php-script 但这没用。我甚至无法以新用户身份登录。因此,对此采取新的方法可能有所帮助。

0 个答案:

没有答案