我在互联网上搜索了几个小时才找到一个好的解决方案,但所有已经退出的主题对我没有帮助
我尝试构建一个webhook来更新我的网站,通过执行一个git pull,当提交推送到我的live分支时,它被称为git hook。但是当我尝试通过在浏览器中请求我的php脚本来调用git pull时,它无效。
apache作为www-data运行,所有权限都设置得很好。
当我尝试以su - www-data
而不是php webHook.php
的www数据用户运行时,php脚本运行正常
但是当我在浏览器中调用它时,我没有得到回应。我猜apache正在阻止
这是我在php脚本中使用的命令:
echo shell_exec('cd /home/my-site/public_html && git pull');
结果为空,并且根本没有拉出git存储库。
但如果我试试这个:
echo shell_exec('cd /home/my-site/public_html && git');
我得到了这个结果
用法:git [--version] [--exec-path [=]] [--html-path] [--man-path] [--info-path] [-p | --p。 .........
所以一切正常,除了git pull命令。
将存储库保存在具有atlassian存储的另一台服务器上。我用git config --global credential.helper "cache --timeout=360000000"