如何在使用PHP的网站上从Git版本控制系统中检出特定分支?我只需要一个单独的网页,让我选择任何可用的分支,并在按下按钮后进行检出(当然要进行身份验证)。
编写脚本以列出所有可用的分支并显示页面很容易,但是PHP脚本没有足够的权限运行Git checkout。我可以将Web服务器(Apache或Nginx)作为root运行,但这显然会带来巨大的安全风险。
如何从PHP Web脚本中启动Git checkout?
如何在使用PHP的网站上从Git版本控制系统中检出特定分支?我只需要一个单独的网页,让我选择任何可用的分支,并在按下按钮后进行检出(当然要进行身份验证)。
编写脚本以列出所有可用的分支并显示页面很容易,但是PHP脚本没有足够的权限运行Git checkout。我可以将Web服务器(Apache或Nginx)作为root运行,但这显然会带来巨大的安全风险。
如何从PHP Web脚本中启动Git checkout?
我曾经遇到过同样的问题,我的解决方案是将整个站点的所有权都改为apache用户。现在你的PHP脚本就可以运行git checkout了。
这种解决方案并不完全符合安全要求,因为现在有漏洞的脚本可以更改你的Web文件夹中的脚本。正确的解决方案是编写一个作为特权用户运行的守护进程,并仅在请求时为apache用户运行非常特定的命令。我只需要一个我们的开发Web服务器的解决方案,所以守护进程会过度。
php.ini
中未禁用git
。权限问题可以得到解决。 - Daniel W.