次の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 実行関数の使用:
exec
、system
、popen
; - コマンド全体を引数として bash に渡します。つまり、
exec('bash -c '.$cmd);
何が起こっているのか誰にも分かりませんか?