我有一个网站,允许用户上传视频,我有安装了ffmpeg的VPS服务器,安全模式已关闭并在我的终端中测试了命令,但是当我尝试在exec中运行命令时它在PHP脚本中工作( )甚至shell_exec()它不执行。下面是我的代码(为隐私更改了一些变量)。
$video_name = $_FILES["post_vid"]["name"];
$Vurl = "/folder1/folder2/$vrand_file_name/$video_name";
$VnewName = $vrand_vid_name .".mp4";
$VurlNew = "/folder1/folder2/$vrand_file_name/$VnewName";
$convertold = "/home/user/directory/domain.com/$Vurl";
$convertNew = "/home/user/directory/domain.com/$VurlNew" ;
$ffmpegC = "/user/local/bin/ffmpeg";
exec($ffmpegC.' -y -i "'.$convertold.'" -f mp4 "'.$convertNew.'"');
我的代码就在move_uploaded_file()运行正常之后。 还检查了我的PHP使用与我的终端相同的用户... 任何对此的见解都会很棒,提前谢谢。
答案 0 :(得分:0)
请按照以下方式在exec
附近修改您的代码,您可以试试吗?
$command = $ffmpegC.' -y -i "'.$convertold.'" -f mp4 "'.$convertNew.'" 2>&1';
exec($command, $array);
var_dump($array);
exit;
使用2>&1
,stderror
输入$array
。
所以你可以看到原因。
祝你好运!