1

つまりね、

$file="myjpg.jpg";
$runme="/var/www/html/facedetect/facedetect ".$file;
$output=shell_exec($runme);
var_dump($output);

ターン

NULL

しかし実際には、ssh を介してまったく同じコマンドを実行すると、完了までに少し時間がかかり、約 15 秒かかり、出力が返されます。

したがって、PHP は待機しておらず、完了する前に終了すると考えています。

これを修正するにはどうすればよいですか? ini の特別な設定など。

または、 shell_exec が実行可能ファイルの引数として myjpg.jpg を送信しないことに関連する可能性のあるミス構成がどこかにありますか。私はこれについて無知です。

4

1 に答える 1

2

shell_exec()NULLコマンドが失敗すると戻ります。つまり、ゼロ以外の終了値を返す場合です。

これはおそらくそうです。

デバッグするにexec()は、常に値を返す try を実行すると、エラーが返されます。

私の直感は、PHP を実行しているユーザー (おそらく www-data) がアクセスできない、/var/www/html/facedetect/facedetectまたはアクセスできないということです。$file;

于 2013-03-06T19:03:54.930 に答える