2011-05-14 136 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