平成30/ 2018-12-10 16:41
PHP/外部 コマンド

exec($cmd, $arr, $res);
標準出力で何も表示されず(system()では表示される)
$arrに結果が代入される。

以下で確認したがちゃんと、コマンド実行完了後に次のコマンドが実行される。
exec('sleep 5');
exec("echo 'abc'");


___ $cmdに存在しないコマンドを入力した場合。標準出力では何も表示されず、
exec($cmd, $arr, $res);
$arrは、  空の配列が代入され、
$resには、127が代入される。


___ も一つ参考程度に。
$cmd = "php ". dirname(dirname($_SERVER["DOCUMENT_ROOT"])). "/bat/twitter.php {$SCHOOL_ID}";
//echo $cmd. "\n";
exec($cmd, $arr, $res);
//print_r($arr);
//print_r($res);

結果は第2引数に格納される。
第3引数にはステータスコードが格納される。




( Thanks. )
exec -- 外部プログラムを実行する
http://tm.root-n.com/programming:php:etc:system_exec