Я пытаюсь запустить 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.
EDIT:
Если я запускаю 'ffmpeg -h', я получаю команды помощи, которые должны указыватьчто ffmpeg распознается
Я увеличил предел памяти PHP до 1024 - не повезло.