gpt4 book ai didi

php - 如何使用 exec() 从 php 推送 git

转载 作者:可可西里 更新时间:2023-11-01 09:33:47 25 4
gpt4 key购买 nike

这是我的push.bat文件

echo "Hello world!"
cd abhishek3/
call git add .
call git commit -m "sadf"
call heroku accounts:set abhishek84
call git push heroku master

我可以通过在 cmd 中运行 push.bat 文件来推送到我的存储库

我想从 php 推送到我的 repo,尝试了以下片段,但没有一个对我有用。

exec("psexec -d push.bat");

结果: PHP 页面无限加载

$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run("cmd /C abhishek3.bat, 0, false);

结果:页面在一段时间后停止加载并且没有任何效果

exec("cmd.exe /c abhishek3.bat")

结果:页面在一段时间后停止加载并且没有任何效果

编辑:尝试了以下代码片段,但没有任何效果。

exec("hstart.exe /NOCONSOLE \"cmd.exe /c \"abhishek3.bat\"\"");

当从 cmd 运行时,上面的代码片段运行成功,但是当从 php 通过 exec() 运行时,它不起作用。 Download hstart (Hidden Start Binary)

最佳答案

  1. 检查web用户的权限是否正确(可以访问文件和执行git)
  2. 检查 git 的路径和它可能需要的任何环境变量。您可能必须在脚本中设置这些环境变量并使用绝对路径)
  3. 检查 IIS 或 apache(无论您使用哪个)是否允许执行一般程序和 bat 文件(例如,如果是 apache,您可能需要根据您的配置配置 httpd.conf 或 htaccess)

关于php - 如何使用 exec() 从 php 推送 git,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26202262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com