加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 允许Apache执行git pull

发布时间:2020-12-13 17:13:57 所属栏目:PHP教程 来源:网络整理
导读:还没有弄明白这一点..我已经看到了几个答案,但没有一个帮助. 我正在尝试使用Github Webhooks让github在我的服务器上点击一个url并让服务器在命中时立即下拉新提交的项目.我有一个PHP脚本,具有以下内容: ?php `git pull git@github.com:my-user/myrepo.git`;
还没有弄明白这一点..我已经看到了几个答案,但没有一个帮助.

我正在尝试使用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读