2011-05-14 139 views
3

我在我的服務器上使用GIT,我試圖每次更新我的存儲庫時都要執行一個PHP文件。我試圖用我的post-update鉤子來實現這一點。從GIT執行PHP後更新鉤子

這是我試過的代碼:

#!/bin/sh 

echo 
echo "**** Pulling changes into Prime [Hub's post-update hook]" 
echo 

cd $HOME/www || exit 
unset GIT_DIR 
git pull hub master 

exec git-update-server-info 

php /path/to/directory/file.php 

我似乎無法讓PHP執行。任何人都可以照亮這個光?

回答

5

exec永不退貨。在exec調用後添加的任何內容都是無效代碼。

刪除exec,或將其放在php行之前,如果這是最後一件事情需要完成的話。 (而做錯誤,如果必要的檢查明顯了。)

因此,例如

... 
git-update-server-info 
exec php /path/to/directory/file.php 

或者只是

... 
git-update-server-info 
php /path/to/directory/file.php 

(或移動報表周圍,如果你的PHP腳本可以被之前被叫git命令。)

+0

太棒了,我把php命令放在了「git pull」和「exec」之間,它像一個魅力一樣工作。謝謝 :-) – DivZero 2011-05-14 16:15:39