【PHP】コマンドラインの引数をエスケープする。

例をメモ。

$arg1 = escapeshellarg($argv[1]);
$arg2 = escapeshellarg($argv[2]);

$cmd = "php /path/to/file.php $arg1 $arg2 > /dev/null & echo $!";

exec($cmd, $out);

escapeshellarg()関数を使用することで、引数をシングルクオートで囲い、既存のシングルクオートを全てエスケープしてくれる。