2

次のPHPスクリプトがあります。

#!/usr/bin/php
<?php
echo shell_exec(
  "/usr/bin/git clone --bare ".
  "/home/dave/create_project/template_project ".
  "/home/dave/create_project/my_test_project.git"
);

私が実行した10回のうち約7回、gitは次のエラーを出します:

find: 書き込みエラー: 壊れたパイプ

シェルから直接同等のコマンドを実行すると、このエラーは発生しません。

私はすでに試しました:

  • 他の PHP 実行関数の使用: execsystempopen;
  • コマンド全体を引数として bash に渡します。つまり、exec('bash -c '.$cmd);

何が起こっているのか誰にも分かりませんか?

4

2 に答える 2

1

正確なプラットフォームによって異なる場合がありますが、findutilsは以前にその種のエラーメッセージをスローすることが知られています。
Fedoraでは、そのrpmパッケージバージョン4.2.33-2.fc9で問題が修正されました。

于 2009-06-22T12:34:38.733 に答える