Centos:TERM环境变量未设置

时间:2014-01-21 06:11:27

标签: php bash shell video ffmpeg

我正在开发一个允许用户上传视频的移动应用程序,上传后视频转换为mp4格式,我正在使用shell脚本为此目的,脚本在我们的最后一台服务器上工作正常但我们切换了服务器,现在它已停止工作,apache的日志文件正在打印。

[Tue Jan 21 00:57:37.003944 2014] [:error] TERM environment variable not set.
[Tue Jan 21 00:57:37.148531 2014] [:error] ./script.sh: line 3: ffmpeg: command not found
[Tue Jan 21 00:57:37.148794 2014] [:error] script.sh: line 4: ffmpeg: command not found

script.sh的内容是

#!/bin/bash -p
clear
ffmpeg -i $filename -strict experimental -ar 22050 converted.mp4<br>
ffmpeg -itsoffset -1 -i  converted.mp4 -vframes 25 -filter:v scale="min(500\, iw):-1"  thumbnail.png

我使用

调用php脚本
shell_exec("script.sh 52567afa374c61381399290.mp4");

非常感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:0)

错误

  • clear需要终端处理,因此导致TERM错误(bash -p 通常应该修复它,但无论如何都不需要clear
  • shell_exec期间未正确设置路径,因此需要ffmpeg 指定一个完整路径,以便bash可以找到它。