2014-01-21 2 views
0

사용자가 동영상을 업로드 할 수있는 모바일 응용 프로그램에서 작업 중입니다. 동영상을 업로드하면 동영상이 mp4 형식으로 변환되고, 쉘 스크립트를 사용하여 스크립트가 제대로 작동하고 있습니다. 우리의 마지막 서버이지만 우리 서버를 바꿔서 이제는 작동을 멈추었습니다. 아파치의 로그 파일이 출력되고 있습니다.Centos : TERM 환경 변수가 설정되지 않음

[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의 내용은 내가

shell_exec("script.sh 52567afa374c61381399290.mp4"); 

어떤 도움을 사용하여 스크립트 형태의 PHP를 호출하고

#!/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 

주시면 감사하겠습니다이다.

감사

+0

몇 가지. 왜'clear' ('TERM' 오류가 여기에 오는 것 같아요)와 서버에 실제로 로그인하고'type ffmpeg'를 실행하면 어떻게됩니까? (그것이 존재하지 않거나 사용중인 경로에서 발견되지 않을 수도 있습니다) ? 또한, "$ filename"이 무엇이든 설정되어 있습니까? – BroSlow

+0

ffmpeg가 설치되고 올바르게 구성되었으므로 SSH에서 동일한 명령을 실행하면 명령이 성공적으로 실행됩니다. 실행 전에 콘솔을 지우는 것만으로도 제거하고 다시 실행합니다. – TilalHusain

+1

TERM 오류 만 지우기와 관련된 경우 아무 것도 변경하지 않을 것입니다. 또한'shell_exec ("bash script.sh 52567afa374c61381399290.mp4");'를 사용하여'ffmpeg'에 대한 전체 경로를 사용하여 시도해보십시오.'$ filename'을''$ 1''로 바꾸어야한다고 생각합니다. 여기에 약간의 피로감) – BroSlow

답변

0

오류

  • clear

    그렇게 처리 할 수있는 터미널이 TERM 오류가 발생해야했다 (-p 는 일반적으로 문제를 해결해야 bash는하지만, clear 어쨌든 여기 정말 필요하지 않습니다)
  • shell_exec 중에 경로가 올바르게 설정되지 않았으므로 ffmpeg에 이 필요하므로 bash가 찾을 수 있도록 전체 경로를 지정해야합니다.
관련 문제