带有PHP的FFmpeg导致内部服务器错误
我有一个PHP脚本,它调用exec()来使用ffmpeg转换视频文件。该脚本适用于较小的文件,但较大的文件(通常约20MB)在转换运行约45秒后会产生500个内部服务器错误 最大执行时间设置为600秒(10分钟),最大发布和上载大小设置为1000 MB。服务器基于Unix,未在安全模式下运行 虽然这个问题只发生在较大的大小上,但我甚至不确定它是否是文件大小的问题。脚本将通过一个12.6MB的MOV文件,但将失败一个11MB的MP4文件 下面是我的脚本中的exec()行:带有PHP的FFmpeg导致内部服务器错误,php,ffmpeg,Php,Ffmpeg,我有一个PHP脚本,它调用exec()来使用ffmpeg转换视频文件。该脚本适用于较小的文件,但较大的文件(通常约20MB)在转换运行约45秒后会产生500个内部服务器错误 最大执行时间设置为600秒(10分钟),最大发布和上载大小设置为1000 MB。服务器基于Unix,未在安全模式下运行 虽然这个问题只发生在较大的大小上,但我甚至不确定它是否是文件大小的问题。脚本将通过一个12.6MB的MOV文件,但将失败一个11MB的MP4文件 下面是我的脚本中的exec()行: exec('ffmpeg
exec('ffmpeg -y -i '.escapeshellarg($uploadFile).' -vcodec libx264 -ab 128k -ac 2 -b 640k -g 300 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -maxrate 10M -bufsize 10M -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 '.$convertFile);
谢谢 我在使用mod_fcgid和Apache时遇到过类似的PHP问题和超时问题。mod_fcgid似乎对运行很长时间的脚本有问题,而且无论更改超时值的数量有多大,我仍然无法让它一直保持良好的性能 我找到了一些解决方法:
<IfModule !mod_fastcgi.c>
AddHandler fcgid-script fcg fcgi fpl
IdleScanInterval 10800
BusyScanInterval 10800
ZombieScanInterval 60
</IfModule>
在相关的
中的httpd.conf中,重新启动apache,超时已停止。我在使用mod_fcgid和apache时遇到过类似的PHP问题和超时。mod_fcgid似乎对运行很长时间的脚本有问题,而且无论更改超时值的数量有多大,我仍然无法让它一直保持良好的性能
我找到了一些解决方法:
<IfModule !mod_fastcgi.c>
AddHandler fcgid-script fcg fcgi fpl
IdleScanInterval 10800
BusyScanInterval 10800
ZombieScanInterval 60
</IfModule>
在相关的
中输入我的httpd.conf,重新启动apache,超时已停止。长时间运行的作业应在后台运行。旧版本的ffmpeg存在漏洞,请确保您运行的是最新版本。尝试在终端内部运行相同的命令,不使用php。它在终端中运行良好。即使抛出内部错误,转换仍然有效;它只是不调用exec()后面的任何行。我可以在抛出错误后检查FTP,目录中会有一个工作视频文件。长时间运行的作业应该在后台运行。旧版本的ffmpeg存在漏洞,请确保您运行的是最新版本。尝试在终端内部运行相同的命令,不使用php。它在终端中运行良好。即使抛出内部错误,转换仍然有效;它只是不调用exec()后面的任何行。我可以在抛出错误后检查FTP,目录中将有一个工作视频文件。