私は現在、PHPを介してSoXを機能させようとしています。これまでのところすべて機能していますが、出力が返されません。stderrを「2>&1」の出力にもルーティングする可能性があることをすでに読みました。問題は、これがWindowsマシンでは機能しないように見えることです。
他のアイデアはありますか?
コードは次のとおりです。
exec($path2sox . '/sox ' . $cmd . ' 2>&1', $output = array(), $result);
ファイルは作成されますが(基本的なsoxコマンドは問題ありませんが、Windowsコマンドラインでまったく同じコマンドをテストしました)、結果も出力も何も返されません(SoXの詳細度は4に設定されています。これは完全な出力です)。
Windowsは2>&1ステートメントを理解していないと思いますが、これをどのように克服できますか?
PS:以下に提案するように、私もこれを試しました
$output = array();
echo "Executing: [$path2sox/sox $cmd]";
exec("$path2sox/sox $cmd", $output, $result);
echo "Result: ";
var_dump($result);
echo "\n
Output: ";
var_dump($output);
ここで、出力は次のとおりです。
実行中:[I:\ SoX / sox --guard -V4 "somedirectory / test.wav" --compression "320.2" "somedirectory / test.mp3"]結果:int(0)ファイルが正しく作成されました...
出力:array(0){ }