从PHP网站进行Git签出?

从PHP网站进行Git签出?,php,git,apache,nginx,git-checkout,Php,Git,Apache,Nginx,Git Checkout,是否可以使用PHP网站从Git版本控制系统签出特定分支?我所需要的只是一个网页,可以让我选择任何可用的分支,并在按下按钮(当然是在验证之后)后进行签出 制作一个脚本来列出所有可用的分支并显示页面很容易,但是PHP脚本没有足够的权限来运行Git签出。我可以以root用户身份运行web服务器(Apache或Nginx),但显然这会带来太大的安全风险 如何使用min从PHP web脚本启动Git签出我也遇到了同样的问题,我的解决方案是将整个站点交给apache用户。现在,您的PHP脚本可以运行git签

是否可以使用PHP网站从Git版本控制系统签出特定分支?我所需要的只是一个网页,可以让我选择任何可用的分支,并在按下按钮(当然是在验证之后)后进行签出

制作一个脚本来列出所有可用的分支并显示页面很容易,但是PHP脚本没有足够的权限来运行Git签出。我可以以root用户身份运行web服务器(Apache或Nginx),但显然这会带来太大的安全风险


如何使用min从PHP web脚本启动Git签出我也遇到了同样的问题,我的解决方案是将整个站点交给apache用户。现在,您的PHP脚本可以运行git签出


这个解决方案并不是100%安全的理想方案,因为现在有缺陷的脚本可以更改webfolder中的脚本。正确的解决方案是编写一个守护进程,然后作为特权用户运行,并根据请求仅为apache用户运行非常特定的命令。我只需要为我们的dev-webserver提供一个解决方案,因此守护进程可能会被过度杀戮。

最好使用gitolite(在谷歌中搜索)设置一个git服务器。它甚至可以为您处理密钥设置等。

签出会尝试更新网站本身还是在数据文件夹中运行?也可能值得一看:为Apache用户提供对临时文件夹的写访问权,以供您签出,并确保
php.ini
中不允许使用
git
。权限问题可以解决。这应该是一个注释。