php shell_exec()命令弹出错误和权限被拒绝ffmpeg

时间:2016-10-19 07:57:05

标签: php ffmpeg

这是主要的index.php文件,我运行我的代码来生成带有ffmpeg的视频缩略图,但它没有运气我在网上搜索了很多解决方案但没有任何结果我会非常感激如果你们可以帮助我shell_exec()一直给我错误

<html>
<head>
</head>
<body>
<form action="index.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file"><input type="submit" name="submit" value="upload">

</form>

<?php

if(isset($_POST['submit'])){


$ffmpeg = "/Users/mac/Documents/ffmpeg/3.1.4/bin/ffmpeg";
$videoFile = $_FILES["file"]["tmp_name"];
$imageFile = "1.jpg";
$size = "320x240";
$getFromSecond = 5;
$cmd = "$ffmpeg -i $videoFile -an -ss $getFromSecond -s $size $imageFile 2>&1";

    echo shell_exec($cmd);


echo shell_exec('whoami');
if(!shell_exec($cmd)){


    echo "thumbnail created";
}else{
    echo "error creating thumbnail";
}






}

?>

</body>
</html>

1 个答案:

答案 0 :(得分:0)

尝试运行此文件的用户没有正确的权限(通常为www-data)。要测试此理论,请尝试使用sudo

运行
shell_exec('sudo -u user -p pass -s $ffmpeg -i $videoFile -an -ss $getFromSecond -s $size $imageFile 2>&1');

您还可以将Apache配置为以www-data以外的其他用户身份运行虚拟主机,或者更改您希望www-data访问的文件的权限:

https://unix.stackexchange.com/questions/30879/what-user-should-apache-and-php-be-running-as-what-permissions-should-var-www