编程语言
首页 > 编程语言> > php – 允许Apache执行git pull

php – 允许Apache执行git pull

作者:互联网

还没有弄明白这一点..我已经看到了几个答案,但没有一个帮助.

我正在尝试使用Github Webhooks让github在我的服务器上点击一个url并让服务器在命中时立即下拉新提交的项目.我有一个PHP脚本,具有以下内容:

<?php `git pull git@github.com:my-user/myrepo.git`; ?>

但是,当命中时,该脚本作为用户apache运行,所以我试过:

chown -R apache:apache .

它仍然有权限被拒绝错误.

那么我尝试编辑sudoers文件并更改以下内容:

Host_Alias      LOCAL=127.0.0.1
apache          LOCAL=NOPASSWD: /var/www/html/git-hook.php

这仍然不起作用.

如何实现这一目标?如果我跑:

 sudo php git-hook.php

它工作得很好,所以php文件中的代码没有任何问题.我只想让它自动化.

有任何想法吗?

编辑:

我也忘了提.我甚至创建了一个文件夹/home/apache/.ssh并复制了git pull over的公钥,结果相同.

解决方法:

更改您的PHP以通过sudo运行git

<?php `sudo git pull git@github.com:my-user/myrepo.git`; ?>

然后更改你的suoders以允许apit用户运行git

apache ALL = NOPASSWD: /usr/bin/git

标签:php,git,shell,webhooks
来源: https://codeday.me/bug/20190625/1287769.html