我正在尝试写一个小的PHP脚本,它可以发现我的web服务器上本地git存储库的所有更改,并将它们推送到我的(私有) Github存储库。使用Atom推送和拉取Github存储库的效果很好,使用webhook将更改推送到web服务器的工作非常完美,通过命令行推送和拉取web服务器上的更新非常完美,我的问题是尝试使用PHP将web服务器上的更新提交和推送到我的Github存储库。您如何做到这一点?
如果我必须手动更改、添加甚至删除服务器上的整个模板,我可以提交这些更改,并使用以下命令行将它们推送到Github:
git add --all
git commit -m "from server"
git push -u origin master
但是,当我尝试使用PHP脚本执行此操作时,它永远不会起作用,也没有得到任何错误消息(我甚至尝试使用暂停):
$output = `git add --all`;
echo $output;
sleep(1);
$output = `git commit -m "from server"`;
echo $output;
sleep(3);
$output = `git push -u origin master`;
echo $output;
sleep(3);
如果我运行像'git --version','git config --list‘或'git status’这样的简单命令,它就能很好地从这些脚本中运行,所以我很困惑。
发布于 2018-10-12 16:15:38
发布于 2018-10-15 18:10:11
从字面上看,你只是在回显字符串,而不是运行它们。
您可以使用exec()
、shell_exec()
而不是echo()
http://php.net/manual/en/function.exec.php
http://php.net/manual/en/function.shell-exec.php
下面是允许您在服务器上执行程序的PHP命令:
https://stackoverflow.com/questions/52680408
复制相似问题