[英]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.