【问题标题】:Git checkout from a PHP website?从 PHP 网站进行 Git 结帐?
【发布时间】:2012-12-09 03:21:37
【问题描述】:

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

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

如何使用 min 从 PHP Web 脚本启动 Git 结帐

【问题讨论】:

  • 结帐会尝试更新网站本身还是在数据文件夹中运行?也可能值得一看:github.com/kzykhys/PHPGit
  • 授予 Apache 用户对临时文件夹的写入权限以进行结帐,并确保 gitphp.ini 中未被禁止。权限问题可以解决..

标签: php git apache nginx git-checkout


【解决方案1】:

我遇到了同样的问题,我的解决方案是把整个网站都交给 apache 用户。现在您的 PHP 脚本可以运行 git checkout。

此解决方案并非 100% 理想的安全性,因为现在有错误的脚本可以更改 Web 文件夹中的脚本。正确的解决方案是编写一个守护程序,而不是作为特权用户运行,并且只根据请求为 apache 用户运行非常特定的命令。我只需要为我们的开发网络服务器提供一个解决方案,所以守护进程会有点过头了。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 这应该是一条评论。
    猜你喜欢
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    • 1970-01-01
    • 2012-09-06
    • 1970-01-01
    相关资源
    最近更新 更多