Я без проблем запускаю следующую команду на консоли:
ffmpeg -i /var/www/html/input.mp4 /var/www/html/output.mp3
Но когда я запускаю команду в PHP, я ничего не получаю:
<?php
shell_exec("ffmpeg -i /var/www/html/input.mp4 /var/www/html/output.mp3");
?>
Подумайте, в чем проблема? Я проверил свои разрешения CHMOD, все выглядит хорошо. Что еще нужно проверить?
Спасибо,
Я бы попробовал запустить его с полным пути к ffmpeg. Вы можете получить полный путь в unix, запустив which ffmpeg
в командной строке. В моем ящике ubuntu выводятся данные, такие как /usr/bin/ffmpeg
. Используйте этот полный путь в коде:
<?php
shell_exec("/usr/bin/ffmpeg -i /var/www/html/input.mp4 /var/www/html/output.mp3");
?>
Конечно (как написано выше) прохождение полного пути к exec - хорошая идея. Также вы также должны перенаправить поток ошибок на полученный вами результат - добавьте "2> & 1" в конец команды. Взгляните на первый комментарий здесь.