PHP detect if shell_exec() command failed

2020-03-04 07:35发布

I'm running the ffmpeg command within PHP's shell_exec() to convert several videos in a list. Is there anyway to detect if an error happened while the video was being converted (or atleast verify it fully completed the conversion)?

I don't want to stop converting other videos if an error happens, just the ability to record the error.

<?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条回答
看我几分像从前
2楼-- · 2020-03-04 07:58
$return=shell_exec('ffmpeg ...');

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

}
查看更多
冷血范
3楼-- · 2020-03-04 08:11

Capture the exit code with another system call function like exec:

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

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

Any decent utility will exit with a code other than 0 on error.

查看更多
登录 后发表回答