我们有一个PHP脚本,它只包含以下代码。。。
/usr/bin/git pull
我们最初只使用CCD_ 2。
每当GitHub向该脚本发布数据时,git pull
就会失败。我们已经尝试使用http://us2.php.net/manual/en/function.shell-exec.php将响应存储在一个变量中,并将该变量的内容写入一个文本文件中,这样我们就可以确保命令正在执行——事实确实如此!例如,我们可以执行git log
,文本文件将包含git日志响应的所有内容。但是执行git pull
就是不起作用?
我们的服务器工程师建议使用git安装的完整路径(使用which git
查找路径),这就是您在上面看到的,但这也不起作用。
我们很困惑,为什么当GitHub的post-hook调用我们的脚本,但git pull
不起作用时,我们可以执行像git log
这样的git命令?
有人知道为什么这不起作用吗?
谢谢。
确保代码以具有足够权限的用户身份执行。您可以通过在脚本中运行whoami
来确认这一点,该脚本试图使用git 进行拉取