PHP ffmpeg exec возвращает null

Я пытаюсь запустить ffmpeg через вызов exec PHP, я отлаживал какое-то время и смотрел на множество ответов здесь, но все равно не нашел ответов …

Мой упрощенный вызов:

$cmd = 'ffmpeg 2>&1'; exec(escapeshellcmd($cmd), $stdout, $stderr); var_dump($stderr); var_dump($stdout); var_dump($cmd); exit; 

Мой вывод: $ stderr = int (1) и $ stdout = array (0) {}

Также я попробовал shell_exec($cmd) который возвращает NULL .

У cmd.exe есть разрешения, установленные для учетной записи IUSR – например, я могу запустить $cmd = 'dir' и посмотреть вывод каталога.

PHP не работает в безопасном режиме.

Файл ffmpeg.exe находится в том же каталоге, что и мой php-файл, но у меня есть тот же ответ, который дает абсолютный путь к файлу ffmpeg.exe в $cmd .

ffmpeg выполняет штраф из командной строки.

Я использую Windows XP, IIS и PHP 5.3.

РЕДАКТИРОВАТЬ:

Если я запустил «ffmpeg -h», я получаю команды справки, которые должны указывать, что ffmpeg распознается

Я увеличил предел памяти PHP до 1024 – не повезло.

Related of "PHP ffmpeg exec возвращает null"

У меня теперь это работает – я думаю, что может быть несколько вопросов:

Оказывается, что $cmd = 'ffmpeg' возвращает null, поэтому это не хороший тест!

Также выполняйте команду escape shell из '2> & 1' echo 2 ^> ^ & 1 "- я думаю, что это была моя оригинальная проблема.

Теперь мне удалось проверить файл с помощью: «ffmpeg -i SAMPLE.AVI 2> & 1».

Рабочий код:

 $cmd = 'ffmpeg -i SAMPLE.AVI 2>&1'; exec($cmd, $output, $value); var_dump($output); var_dump($value); var_dump($cmd); exit; 

Как отмечалось выше, ffmpeg – это немного ожог памяти, поэтому стоит также проверить память.