現在、ReactPHP Child-Process ライブラリ (proc_open() を使用) を使用して、Go アプリケーションからデータをストリーム形式で取得しています。ただし、stdout と stderr からすべての入力をダンプすると、bash でテストすると出力が得られますが、何も得られません。
Go スクリプトは次のとおりです: https://github.com/bwmarrin/dca/blob/master/main.go
Go スクリプトはゴルーチンを使用しているため、それが問題になる可能性がありますか? (わかりません。私は Go の開発者ではなく、プログラムを作成したわけでもありません。)
PHP 7.0.3 CLI を使用して Mac OS X 10.11.2 El Capitan で実行しています。
PHP コード:
$loop = Factory::create();
$process = new Process("dca -i /Users/david/Music/Zombies.mp3");
$process->start($loop);
$process->stdout->on('data', function ($data) {
var_dump($data);
});
$process->stderr->on('data', function ($data) {
dump($data);
});
$loop->run();
React Child-Process はこちらにあります: https://github.com/reactphp/child-process