我在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中!
呢'shell_exec'执行什么呢?像'echo'或'ls'? – sobolevn
godaddy或VPS共享的主机? – Doon