我目前正试图让 SoX 通过 PHP 工作。到目前为止一切正常,但我没有得到输出。我已经读过有人可能会使用“2>&1”将 stderr 路由到输出。问题是,这似乎不适用于 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)文件已正确创建...
输出:数组(0){ }