PHP определяет, не удалась ли команда shell exec()


Я запускаю команду ffmpeg в PHP shell_exec(), чтобы преобразовать несколько видео в список. Есть ли в любом случае возможность определить, произошла ли ошибка во время преобразования видео (или, по крайней мере, убедиться, что оно полностью завершило преобразование)?

Я не хочу прекращать конвертировать другие видео, если произойдет ошибка, просто возможность записать ошибку.

<?php
    shell_exec('ffmpeg -i downloads/flv/file1.flv -vcodec libvpx -acodec libvorbis downloads/webm/file1.webm');

    if(error) {
     //run a command here to report the error (ie. MySQL or email)
    }
?>
Author: floatleft, 2011-10-28

2 answers

Захват кода выхода с помощью другой функции системного вызова, такой как exec:

exec('ffmpeg ...', $output, $return);

if ($return != 0) {
    // an error occurred
}

Любая приличная утилита завершит работу с кодом, отличным от 0, при ошибке.

 10
Author: deceze, 2011-10-28 00:16:35
$return=shell_exec('ffmpeg ...');

if ($return) { //look at what it returns do what you will with the data

}
 -1
Author: , 2011-10-28 00:19:17