PHP обнаруживает, если команда shell_exec () не удалась - PullRequest
4 голосов
/ 28 октября 2011

Я запускаю команду 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)
    }
?>

Ответы [ 2 ]

10 голосов
/ 28 октября 2011

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

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

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

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

0 голосов
/ 28 октября 2011
$return=shell_exec('ffmpeg ...');

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

}
...