如何为apache提供cmd权限?

问题描述 投票:0回答:1

我正在开发一个将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");
php apache permissions
1个回答
-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 command not exsists”所以你只需要添加一行

<?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);
?>

这工作正常。

© www.soinside.com 2019 - 2024. All rights reserved.