Rio*_*Rio 5 php audio video ffmpeg
我正在尝试使用shell_exec或exec从PHP执行ffmpeg,但它失败了.为什么会这样?该命令/usr/bin/ffmpeg在终端上运行,所以我试过了
<?php
$cmd = "/usr/bin/ffmpeg";
exec($cmd." 2>&1", $out, $ret);
if ($ret){
echo "There was a problem!\n";
print_r($out);
}else{
echo "Everything went better than expected!\n";
}
?>
Run Code Online (Sandbox Code Playgroud)
而且我继续得到
There was a problem! Array ( [0] => sh: /usr/bin/ffmpeg: not found )
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
可执行文件的权限是
-rwxr-xr-x 1 root root 106552 Jun 12 09:53 ffmpeg
Run Code Online (Sandbox Code Playgroud)
运行which /usr/local/bin/ffmpeg到$ cmd会返回一个空数组.
您的问题的答案可能比预期的简单.你正在检查两个/usr/local/bin 和 /usr/bin.有多种解决方案.
你可以跑$ whereis ffmpeg,看看你得到了什么.根据结果,更改您的$cmd变量.如果whereis什么都不返回,那么你的系统不知道它在哪里.您可以将其添加到$PATH环境变量中,然后重试.
你可以尝试运行$ find /usr -name "ffmpeg"或类似的东西.通过确保安装此程序,它将帮助您更快地解决此问题.
如果存在某种限制,拒绝apache访问/使用ffmpeg的能力,您可以始终将其存储在文档根目录中的bin文件夹中.(比如/ path/to/doc/root/bin/ffmpeg)之前我已经这样做了所以我知道它有效.
如果您发现ffmpeg实际位于/usr/local/bin当时,您应该尝试将您更改$cmd为:
$cmd = '/usr/local/bin/ffmpeg';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11199 次 |
| 最近记录: |