我正在尝试将github设置为webever部署自动化。除了最重要的一点,我什么都做了。我有一个文件@mydomain.com/github.php,看起来像这样:
<?php
`git pull`;
?>
这是我的github repo的接收后URL。Github正在成功发布,但shell命令没有运行。当我尝试SSHing进入我的服务器,并直接运行脚本时:
php github.php
它工作得很好,更改的文件被成功地提取
From git://github.com/user/Repo
7e3176d..f889c14 master -> origin/master
但是当我在浏览器中访问页面时,或者当github发布到页面时,shell命令不会执行。没有错误,只是一个空结果。我在这里做错了什么?
有两个可能的问题:
- 权限-很可能您的Web服务器用户没有必要的权限
- 工作目录。仔细检查shell命令是否以正确的路径执行(
getcwd()
)
UPD
Git将错误消息输出到stderr,因此要查看真正的错误消息,需要
echo `git pull 2>&1`;