2015-10-14 92 views
8

我在github上有兩個遠程的git pull web hook,GoDaddy [production]和Bluehost [staging]。這個問題不是關於這些公司本身,而是可能是設置差異的原因。我有這個劇本,我已經安裝作爲後提交上github.com鉤:shell_exec git pull配置Godaddy vs Bluehost

<?php 
$output = shell_exec('git pull origin master'); 
echo "<pre>$output</pre>"; 
?> 

當我承諾在Github上回購,鉤火災和BlueHost的正常工作。它不會對Godaddy做任何事情。

BlueHost的瀏覽器響應:

"already up to date". Pull command works, and the Bluehost repo is updated. 

Godaddy的瀏覽器響應:

<pre></pre> Pull command has not worked. Repo not updated. 

當我運行通過瀏覽器這個腳本:

<?php 
$output = shell_exec('ls'); 
echo "<pre>$output</pre>"; 
?> 

獲得正確的 'LS' 目錄在兩臺服務器上輸出。

當我進入SSH目錄時,我可以手動發出命令'git pull origin master',它可以在兩臺服務器上運行。那麼這是否意味着Godaddy允許PHP發佈一些命令,而不是其他的?我能以某種方式解決這個問題嗎沒有人會自動部署到Godaddy中!

+1

呢'shell_exec'執行什麼呢?像'echo'或'ls'? – sobolevn

+0

godaddy或VPS共享的主機? – Doon

回答

8

這可能是類似於previous case其中:

GoDaddy的技術支持證實PHP不訪問Git命令他們共享宿主環境
他們說,VPS將需要實現這一點。

This comment確認php設置(您可以配置)在共享服務器上非常有限。

因此,檢查與Godaddy的支持,如果這是你的設置的情況下。

+1

謝謝VonC,我想這就是答案。由於我爲這個問題付了50分,所以我會編輯並說只有一個瘋狂的人會使用Godaddy進行託管。我現在已經爲10個不同的客戶在10個不同的域中處理了這家公司。新規則:如果您希望Jim在您的網站上工作,則必須將其從Godaddy上移除。 –