Я работаю над мобильным приложением, которое позволяет пользователям загружать видео, при загрузке видео преобразуются в формат mp4, для этого я использую сценарий оболочки, сценарий отлично работает наш последний сервер, но мы переключили наш сервер, и теперь он перестает работать, файлы журнала apache печатаются.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 являются
#!/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");
Любая помощь будет принята с благодарностью.
Благодаря
Пара вещей. Почему вы делаете «clear» (откуда приходит ошибка «TERM») и что вы получаете, если вы действительно заходите на сервер и запускаете 'type ffmpeg' (предполагая, что он не может существовать или не найден ни в каком пути, который он использует) ? Кроме того, «$ filename» установлен на что угодно? – BroSlow
ffmpeg установлен и правильно настроен, когда я запускаю те же команды из SSH, команды выполняются успешно, ясность - это просто очистить консоль до ее выполнения, я попробую удалить ее и запустить снова. – TilalHusain
Наверное, ничего не изменит, если только ошибка TERM связана с очисткой. Также попробуйте использовать полный путь к 'ffmpeg', используя' shell_exec («bash script.sh 52567afa374c61381399290.mp4»); 'и я думаю, вам нужно переключить' $ filename' на '' $ 1 '' (хотя я бы несколько устал от инъекции здесь) – BroSlow