簡體   English   中英

如何使用exec()從php推送git

[英]How to push git from php using exec()

這是我的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()時沒有運行。 下載hstart(隱藏啟動二進制)

  1. 檢查Web用戶的權限是否正確(它可以訪問文件並執行git)
  2. 檢查git的路徑以及它可能需要的任何環境變量。 您可能必須在腳本中設置這些環境變量並使用絕對路徑)
  3. 檢查IIS或apache(無論你使用哪個)允許執行一般程序和bat文件(例如,如果它是apache,你可能需要配置httpd.conf或htaccess,具體取決於你的配置)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM