PHP exec('git') failing


PHP exec('git') failing

具体来说,我正在尝试让ViewGit在PHP/Apache/Windows安装上工作。

似乎PHP无法运行exec('git');

exec('whoami');工作正常,因此禁用exec()不是问题。

Apache在自己的用户帐户下运行 - 如果我以该用户身份登录并尝试在命令行上运行git,我会得到预期的结果。该帐户还具有对/Program Files/Git 文件夹执行所有操作的完全权限。

如果我在本地计算机上运行exec('git');它工作正常,但在服务器上不起作用。

有什么想法吗?

当你在Windows上的命令行中键入"git"时,它会打开git.cmd。在Windows上典型的msysgit安装中,git.cmd在PATH中,但git.exe可能不是!因此,您可以尝试以下方法之一:

  • 在 Windows 文件夹中创建包含以下内容的git.bat
    C:'Program Files (x86)'Git'bin'git.exe(检查路径)
  • 在 Windows PATH 中添加 git 的 bin 目录。(您可以通过编辑系统环境变量来执行此操作)

我已经设法通过从 PHP 5.2 升级到 PHP 5.4 来解决此问题。不确定问题是什么,但这已经解决了。