[英]Reading output of git push from PHP exec() function
我正在为我的框架的命令行工具编写一个部署命令。 它使用git进行部署。
我有一条线,我这样做:
exec("git push {$remote} {$branch}:{$branch}", $shell_output, $status);
我想在$shell_output
输出push,但它没有发生(输出只显示在终端上)。 我认为因为git
是一个外部程序,因此会创建一个新的输出流?
我试过使用这里描述的输出缓冲区无济于事。 我确信有些东西可以解决这个问题,但是经过多次挖掘后却无法找到它。
所以任何帮助将不胜感激:)
git将其输出发送到STDERR而不是STDOUT,因此您需要使用以下内容重定向:
git push REPO --progress 2>&1
或文件:
git push REPO --progress > /path/to/file 2>&1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.