установить права доступа (PHP5) shell_exec (wine ffmpeg.exe) в Ubuntu версии 14

Как запустить Wine на php shell_exec("wine ffmpeg.exe");?

(сервер Ubuntu версии 14)

установить

sudo apt-get install wine -y

код php5:

$cmd = "/usr/bin/wine /var/www/html/ffmpeg.exe upload/image.jpg"
shell_exec($cmd);

ffmpeg.exe расположение: / var / www / html /

Wine не запускается?

Версия FFmpeg для Linux ?, как запустить PHP shell_exec()?

Домен сервера не на виртуальном хостинге

разрешения на www-data могли быть проблемой?

команда ffmpeg успешно в терминале!

есть проблема с разрешением, только что протестировано, и команда верна.
либо ffmpeg.exe, либо вино имеют неправильные разрешения.

Команда (ffmpeg.exe)

chmod 755 ffmpeg.exe
chown www-data ffmpeg.exe

Команда (/ usr / bin / wine)

chmod 755 wine
chown www-data wine


sudo service apache2 restart

все еще не работает, могли бы быть другие файлы «вина» для применения разрешений. Я не могу вывести какую-либо ошибку, и команда для ffmpeg верна с терминала, проблема должна быть в разрешениях


person user235423423424    schedule 28.07.2017    source источник
comment
Как вообще у него пять голосов и две любимые звезды? Вы предполагаете, что он не запускается правильно? Почему вы предполагаете что-нибудь? Вы смотрели на STDOUT, STDERR или возвращаемое значение при попытке запустить команду? Да, конечно, есть версия ffmpeg для Linux. Обычный поиск в Интернете сказал бы вам это. Нет ничего особенного, что нужно сделать, чтобы запустить его через PHP. Пожалуйста, проведите базовое исследование, прежде чем спрашивать здесь, и прочтите Как задать вопрос, чтобы узнать, как задавать эффективные вопросы.   -  person Chris    schedule 29.07.2017
comment
(СТАНДАРТНЫЙ ВЫПУСК). $ proc = popen ($ cmd, 'r'); echo $ proc; = (ВЫХОД) Идентификатор ресурса # 20   -  person user235423423424    schedule 29.07.2017
comment
shell_exec ($ cmd, $ output); var_dump ($ output); (вывод) = NULL   -  person user235423423424    schedule 29.07.2017


Ответы (1)


Прежде всего, загрузите и установите FFmpeg для своего сервера: https://www.ffmpeg.org/download.html, да, есть версии для Linux.

Затем лучше использовать exec () и запустить ffmpeg в фоновом режиме, чтобы вам не приходилось ждать, пока видео будет преобразовано, чтобы перейти на другую страницу.

$cmd = 'ffmpeg -- parameters here --';
// 2>&1 is used for execute on background
exec("$cmd 2>&1", $output);
// Do you need to debug?
// See ffmpeg results:
var_dump($output);
person Triby    schedule 29.07.2017
comment
здесь ничего плохого с установкой, работает при запуске с терминала. должны быть права доступа к файлам, поскольку ffmpeg и shell_exec работают без ошибок - person user235423423424; 29.07.2017
comment
Настроен ли PHP как CGI? Возможно, вам нужно запустить php-cli, чтобы это работало, проверьте следующее: ссылка - person Triby; 29.07.2017
comment
@ user235423423424, вам следует избегать использования Wine, если он вам не нужен. Здесь это совершенно не нужно. Просто используйте родную версию ffmpeg. Это почти наверняка будет быстрее, будет использовать меньше памяти и генерировать меньше ошибок. - person Chris; 29.07.2017
comment
Попробуйте добавить полный путь к вашему двоичному файлу ffmpeg. Например /usr/bin/ffmpeg. Вы можете найти путь с помощью команды: which ffmeg в вашем терминале. - person Yolo; 30.07.2017