使用 shell_exec() 反引号从 PHP 网络服务器推送 Github

使用 shell_exec() 反引号从 PHP 网络服务器推送 Github

我有一个 Github 存储库,我通过 Atom.io 与客户端一起使用它来帮助保持其网站的所有更改同步。GitHub 存储库包含一个 webhook,可自动将所有更改推送到实时网站,但我想使用 PHP 将直接在 Web 服务器上完成的更改推送回存储库。即:日志文件备份、图像上传和直接在服务器上进行的快速更改。

如果服务器上发生了这些变化之一,我的脚本会告诉我没有问题。

git status

# On branch master
# Changes to be committed:
#   (use "git reset HEAD ..." to unstage)
#
#   new file:   somefolder/somenewfile.whatever
#

如果我从命令行执行此操作,则一切都会完美地重新同步:

git add --all
git commit -m "from server"
git push -u origin master

但如果我尝试通过 PHP shell_exec() 反引号执行此操作,则` `不会发生任何事情。我甚至尝试添加暂停。

$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);

有人知道我在这里做错了什么吗?我应该将这些调用放在 bash 脚本中,然后通过 PHP 模板调用它吗?

相关内容