2017-04-03 54 views
1

我無法通過php從git服務器遠程拖拉文件。我寫了下面的BAT代碼,並試圖通過php執行它。 批處理文件git1.bat是如下:無法通過php運行git pull命令

cd C:\repos\rep2 && git pull origin master 2>&1 

PHP代碼:

<?php 
echo shell_exec("C:\\xampp\htdocs\AS-otg\\git1.bat"); 
?> 

輸出我得到:

​​3210

不過,我得到所需的結果當我直接從cmd執行相同的操作時。 enter image description here

我嘗試了一些其他的git命令,如日誌等工作得很好。 我需要通過PHP來做到這一點...請幫助。

回答

1

log是一個本地命令,不需要與遠程主機通話。 pull先做fetch。看起來你正在另一個用戶下運行PHP腳本,而不是手動運行腳本。如果手動運行它,則使用SSH密鑰對遠程服務器進行身份驗證,並且在PHP腳本運行腳本時,有效用戶不具有該SSH密鑰進行身份驗證。

Btw。您應該記住拉不適合以非交互方式完成。當進行拉動時,如果傳入的變化不是快進的,你很容易發生衝突。