从PHP网站中检出Git?

3

如何在使用PHP的网站上从Git版本控制系统中检出特定分支?我只需要一个单独的网页,让我选择任何可用的分支,并在按下按钮后进行检出(当然要进行身份验证)。

编写脚本以列出所有可用的分支并显示页面很容易,但是PHP脚本没有足够的权限运行Git checkout。我可以将Web服务器(Apache或Nginx)作为root运行,但这显然会带来巨大的安全风险。

如何从PHP Web脚本中启动Git checkout?


结账时,是尝试更新网站本身还是在数据文件夹中运行?另外也值得一看:https://github.com/kzykhys/PHPGit - schmunk
给Apache用户写入临时文件夹的权限,以便进行检查,并确保在php.ini中未禁用git。权限问题可以得到解决。 - Daniel W.
2个回答

0
最好设置一个Git服务器,例如使用gitolite(在Google中搜索)。它甚至可以为您处理密钥设置等。

这应该是一个注释。 - Daniel W.

0

我曾经遇到过同样的问题,我的解决方案是将整个站点的所有权都改为apache用户。现在你的PHP脚本就可以运行git checkout了。

这种解决方案并不完全符合安全要求,因为现在有漏洞的脚本可以更改你的Web文件夹中的脚本。正确的解决方案是编写一个作为特权用户运行的守护进程,并仅在请求时为apache用户运行非常特定的命令。我只需要一个我们的开发Web服务器的解决方案,所以守护进程会过度。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接