ffmpeg-won';当从php页面执行时,不要保存文件

ffmpeg-won';当从php页面执行时,不要保存文件,php,ffmpeg,Php,Ffmpeg,今天我写了几行代码,用ffmpeg从图像创建视频 该命令直接在我的服务器上运行良好,文件保存在适当的位置,但是当从PHP运行它时,过程会继续,但由于某种原因,文件不会保存 以下是我使用的代码: $ffmpegcmd= "/usr/bin/ffmpeg -loop 1 -y -i /home/mysite/www/forwork/simpletext.jpg -c:v libx264 -t 30 -pix_fmt yuv420p /home/mysite/www/forwork/movie.avi

今天我写了几行代码,用ffmpeg从图像创建视频

该命令直接在我的服务器上运行良好,文件保存在适当的位置,但是当从PHP运行它时,过程会继续,但由于某种原因,文件不会保存

以下是我使用的代码:

$ffmpegcmd= "/usr/bin/ffmpeg -loop 1 -y -i /home/mysite/www/forwork/simpletext.jpg -c:v libx264 -t 30 -pix_fmt yuv420p /home/mysite/www/forwork/movie.avi 2>&1";
exec($ffmpegcmd, $output);  
print_r($output);
下面是我得到的答案:

Array ( [0] => ffmpeg version git-2015-09-06-db18b3d Copyright (c) 2000-2015 the FFmpeg developers 
[1] => built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-16) 
[2] => configuration: --prefix=/usr/ffmpeg_build --extra-cflags=-I/usr/ffmpeg_build/include --extra-ldflags=-L/usr/ffmpeg_build/lib --bindir=/usr/bin --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 
[3] => libavutil 55. 0.100 / 55. 0.100 
[4] => libavcodec 57. 0.100 / 57. 0.100 
[5] => libavformat 57. 0.100 / 57. 0.100 
[6] => libavdevice 57. 0.100 / 57. 0.100 
[7] => libavfilter 6. 0.100 / 6. 0.100 
[8] => libswscale 4. 0.100 / 4. 0.100 
[9] => libswresample 2. 0.100 / 2. 0.100 
[10] => libpostproc 54. 0.100 / 54. 0.100 
[11] => Input #0, image2, from '/home/mysite/www/forwork/simpletext.jpg': 
[12] => Duration: 00:00:00.04, start: 0.000000, bitrate: 10414 kb/s 
[13] => Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc 
[14] => /home/mysite/www/forwork/movie.avi: Permission denied )
我将forwork目录修改为755,但它不会改变任何内容


帮助排除故障将不胜感激。谢谢

权限错误会让人头疼。以下是一些可以确保脚本具有正确权限的操作:

  • 通过执行
    chmod-R 755/home/mysite/www/forwork/
  • 通过执行
    ls-l
  • 将Apache用户添加到拥有文件夹/文件的组中(或者在父文件夹上运行
    chown-R apacheuser:group/home/mysite/www/forwork

    • 权限错误可能会引起相当大的麻烦。以下是一些可以确保脚本具有正确权限的操作:

      • 通过执行
        chmod-R 755/home/mysite/www/forwork/
      • 通过执行
        ls-l
      • 将Apache用户添加到拥有文件夹/文件的组中(或者在父文件夹上运行
        chown-R apacheuser:group/home/mysite/www/forwork

      您是否执行了
      chmod-R 755/home/mysite/www/forwork/
      ?如果文件具有不同的权限,这可能是一个问题。还请记住,php对您运行不同的用户…@scottmcgrady是的,chmod-R是否仍然存在问题?不幸的是,apache/php作为哪个用户运行?确保他们对拥有
      movie.avi
      (可能无法解决您的问题,但值得检查。@ScottMcgready实际上在您发表评论后,我删除了movie.avi文件(由root用户创建)脚本现在运行良好。因此这实际上是一个权限问题。感谢大家的提醒。很高兴听到它!为避免疑问,我在下面总结了我的评论,作为将来任何浏览器对这个问题的回答。您是否执行了
      chmod-R 755/home/mysite/www/forwork/
      ?如果文件具有不同的权限,则可能是一个错误问题。还请记住,php运行的用户与您不同…@ScottMcGready是的,chmod-R是否存在,问题仍然是不幸的apache/php运行的用户是谁?确保他们对拥有
      movie.avi
      (可能无法解决您的问题,但值得检查。@ScottMcgready实际上,在您发表评论后,我删除了movie.avi文件(由root用户创建)脚本现在运行良好。因此,这实际上是一个许可问题。感谢大家的提醒。很高兴听到它!为避免疑问,我在下面总结了我的评论,作为未来任何浏览器对这个问题的回答。