如何授予cmd的Apache权限?

时间:2019-04-14 11:42:22

标签: php apache permissions

我正在开发一个将github仓库拉到服务器的php应用程序。 Github Webhooks调用了php文件。

我想使用php执行cmd命令。我以为我需要Apache权限,但我不知道该如何授予它们。

下面的php代码创建一个mkdir.bat和一个gitclone.bat并运行它们。 mkdir成功运行,它创建了一个空文件夹,但是gitclone没有创建任何文件夹或文件。当我手动运行gitclone时,它会创建文件夹和文件。

file_put_contents("mkdir.bat", "mkdir test");
exec("mkdir.bat");

file_put_contents("gitclone.bat", "git clone https://github.com/gutyina700/WPTG.git");
exec("gitclone.bat");

1 个答案:

答案 0 :(得分:-1)

我在计算机上执行了您的代码

file_put_contents("gitclone.bat", "git clone https://github.com/gutyina700/WPTG.git");
exec("gitclone.bat 2>&1",$o);
print_r($o);

额外的代码是检查cmd的输出,并返回“ git命令不存在” 所以您只需要添加一行作为

<?php
putenv("PATH=C:\Program Files\Git\cmd");
file_put_contents("gitclone.bat", "git clone https://github.com/gutyina700/WPTG.git");
exec("gitclone.bat 2>&1",$o);
print_r($o);
?>

这工作正常。