gpt4 book ai didi

php - 允许 Apache 执行 git pull

转载 作者:可可西里 更新时间:2023-10-31 23:07:39 25 4
gpt4 key购买 nike

还没有弄清楚这个问题。我看到了一些答案,但没有一个有帮助。

我正在尝试使用 Github Webhooks 让 github 在我的服务器上点击一个 url,并让服务器在点击后立即 pull 下新提交的项目。我有一个包含以下内容的 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 的公钥,结果相同。

最佳答案

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

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

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

apache ALL = NOPASSWD: /usr/bin/git

关于php - 允许 Apache 执行 git pull,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13076851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com