Reading output of git push from PHP exec() function
bash, git, operating-system, php
Solution
git sends its output to STDERR not STDOUT so you will need to redirect that with something like this:
`git push REPO --progress 2>&1`
or to a file:
`git push REPO --progress > /path/to/file 2>&1`
Problem
I'm writing a deployment command for my framework's command line tool. It uses git to deploy. I have a line where I do this: ``` exec("git push {$remote} {$branch}:{$branch}", $shell_output, $status); ``` I would like to have the output of the push inside `$shell_output`, but its not happening (The output just shows up on terminal). I think because `git` is an external program and therefore creates a new output stream? I've tried using an output buffer described here to no avail. I'm sure theres something on SO that can answer this, but haven't been able to find it after much digging.. So any help will be much appreciated :)