ffmpeg通过shell_exec无法正常工作

时间:2016-02-25 21:27:25

标签: php shell ffmpeg

我在控制台中运行以下命令没有任何问题:

ffmpeg -i /var/www/html/input.mp4 /var/www/html/output.mp3

但是当我在PHP中运行命令时,我什么都没得到:

<?php
shell_exec("ffmpeg -i /var/www/html/input.mp4 /var/www/html/output.mp3");
?>

知道问题在这里吗?我检查了我的CHMOD权限,一切看起来都不错。还有别的东西要检查吗?

谢谢,

2 个答案:

答案 0 :(得分:1)

我会尝试以ffmpeg的完整路径运行它。您可以通过在命令行中运行which ffmpeg来获取unix上的完整路径。我的ubuntu框产生类似/usr/bin/ffmpeg的输出。在代码中使用完整路径:

<?php
shell_exec("/usr/bin/ffmpeg -i /var/www/html/input.mp4 /var/www/html/output.mp3");
?>

答案 1 :(得分:0)

肯定(如上所述)传递完整路径是exec是个好主意。此外,您还应该将错误流重定向到您收集的输出 - 添加&#34; 2 - ;&安培; 1&#34;到命令的末尾。看一下第一条评论here