Я установил версию от http://ffmpeg.org/releases/ffmpeg-2.5.3.tar.bz2 , а также попробовал версию yum, но она не является новой для youtube-dl.ffmpeg не работает от php
Я пробовал export PATH=$PATH:/usr/local/bin/ffmpeg
и PHP/Apache все еще не мог найти FFmpeg.
Пользователь Apache запускает скрипт PHP на CentOS 6.5.
Вызов мой YouTube-dl.php из командной строки PHP как корневые работы (с FFmpeg)
Calling мой YouTube-dl.php из PHP апача пользователь работает (не с FFmpeg)
То, что я пытаюсь сделать: shell exec youtube-dl (youtube dl вызывает FFmpeg в своем двоичном коде, который теперь должен модифицировать его, чтобы добавить полный путь). Это работает, но часть FFmpeg мой YouTube-dl.php файл
$output = shell_exec('youtube-dl -o "/home/test/%(title)s.%(ext)s" '.$url.' -f bestvideo+bestaudio 2>&1');
echo "<pre>$output</pre>";
# which ffmpeg
/usr/local/bin/ffmpeg
Кто-то на других страницах этого сайта говорит местные/бен для индивидуальных версий, но я скачал его прямо из FFmpeg и сделал стандартный ./configure сделать установку.
Сделано:
chmod 755 to /usr/local/bin/ffmpeg
Запуск FFmpeg в качестве тестовой команды напрямую (иногда работает и не, как я модернизировал/перезагружается/updatedb/и т.д.)
$output = shell_exec('ffmpeg 2>&1');
echo "<pre>$output</pre>";
Результат:
<pre>sh: ffmpeg: command not found</pre>
Я прочитал все эти похожие вопросы, но они не помогли:
FFMPEG PHP does not seem to work
FFmpeg not working
Recording audio with FFMPEG works in terminal but not through exec() of PHP
ffmpeg-php permission denied on localhost
C++ program from PHP not working properly
FFMPEG works from command line but not PHP
Calling a shellscript from php - not working correctly
PHP Internal Server Error 500 when using ffmpeg to convert files
PHP code not proceeding to the line after exec ffmpeg
ffmpeg not working from php script but works from command line
PHP exec() Not Working With ffmpeg
ffmpeg not work with PHP exec()
ffmpeg php exec not working
Как не работает 'shell_exec'?Вы получаете сообщение об ошибке? Если вы этого не сделаете, попробуйте захватить 'stderr' из shell_exec и посмотреть, что он содержит. – jsalonen
Где бы я поставил команду stderr? –
Ошибка в файле 'ffmpeg: command not found', поэтому вам нужно убедиться, что оболочка может получить доступ к' ffmpeg'. См. Например: http://unix.stackexchange.com/questions/26047/how-to-correctly-add-a-path-to-path – jsalonen