shell_exec не выводит резултат выполнения комманды

KhmelevskyY

Новичок
shell_exec не выводит резултат выполнения комманды

Здравствуйте.
Есть команда
PHP:
ffmpeg -i /home/user/muz.mp4
которая в шеле работает нормально и выводит информацию о видео файле. Мне нужно выполнить эту же команду в php и получить результат выполнения в переменную. Когда я делаю
PHP:
echo shell_exec('ffmpeg -i /home/user/muz.mp4');
мне ничего не выдает, хотя когда просто напишу
PHP:
echo shell_exec('ffmpeg');
скрипт выдает
Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...
то есть команда ffmpeg работает

как мне получить результат выполнения shell_exec('ffmpeg -i /home/user/muz.mp4'); ?

-~{}~ 25.05.10 14:23:

мда, команда ffmpeg -i muz_17_05.mp4 > aaa.txt
тоже ничего не выдает, создает пустой файл в котором пусто, значит дело в ffmpeg
 

The employer

Новичок
Такое бывает, если команда выводит не в stdout.

ffmpeg, afair, как раз отличается тем, что пишет в stderr.

Попробуйте:
echo shell_exec('ffmpeg -i /home/user/muz.mp4 2>&1');
 

KhmelevskyY

Новичок
Автор оригинала: The employer
Такое бывает, если команда выводит не в stdout.

ffmpeg, afair, как раз отличается тем, что пишет в stderr.

Попробуйте:
echo shell_exec('ffmpeg -i /home/user/muz.mp4 2>&1');
отлично, спасибо за помощь! я что-то не подумал о stderr
 
Сверху