1

PHP で記述された github のデプロイ スクリプトを作成しています。shell_execコマンドを使用して実行していますが、git pullこれは正常に機能します。

プルにエラーがあると、問題が発生します。ターミナルで実行すると、完全なエラーが発生します。例えば:

git pull origin master
Updating f706749..8468d24
test.txt: needs update
error: Entry 'test.txt' not uptodate. Cannot merge.

しかしshell_exec、出力で同じコマンドを実行すると、次のように切り捨てられます

Updating f706749..8468d24
test.txt: needs update

おそらく前の応答からの応答であるため、エラー メッセージが途切れています。完全な出力を返す方法はありますか?

4

3 に答える 3

7

10-1 不足している行はstdoutではなくstderrに書き込まれます。

その場合、stderrstdoutにリダイレクトできます。

"command    2>&1"

2>&1は、エラー メッセージを通常の出力ファイルにリダイレクトします。

于 2011-06-22T22:38:17.853 に答える
1

少し検索することで、あなたの問題に対する答えを見つけたかもしれません。

stderr をキャプチャしてみてください。

これがお役に立てば幸いです。

于 2011-06-22T22:36:57.233 に答える
0

エラーを出力にパイプします。exec コマンドでは、「標準エラー」ストリームである 2> を使用します。

于 2011-06-22T22:39:34.450 に答える