2015-10-14 49 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上移除。 –