我试图通过一个PHP EXEC调用运行ffmpeg,我已经调试了一段时间,看了很多回复,但是仍然没有找到任何答案...PHP ffmpeg exec返回null
我的简化呼叫是:
$cmd = 'ffmpeg 2>&1';
exec(escapeshellcmd($cmd), $stdout, $stderr);
var_dump($stderr);
var_dump($stdout);
var_dump($cmd);
exit;
我的输出为$标准错误= INT(1)和$标准输出=阵列(0){}
另外我试图shell_exec($cmd)
它返回NULL
。
cmd.exe具有为IUSR帐户设置的权限 - 例如,我可以运行$cmd = 'dir'
并查看目录列表输出。
PHP未在安全模式下运行。
ffmpeg.exe与我的php文件位于同一目录中,但我有相同的响应,给出了$cmd
中的ffmpeg.exe文件的绝对路径。
ffmpeg从命令行执行得很好。
我正在运行Windows XP,IIS和PHP 5.3。
编辑:
如果我跑“的ffmpeg -h”我得到的帮助命令,必须指出的ffmpeg是公认
我增加了PHP内存限制1024 - 没有运气。
exec()的第二个参数是'return value',而不是'stderr'。返回值1意味着它发生了错误。我不知道为什么你看不到$ stdout中的错误输出。 – 2012-03-19 13:09:37
注意到感谢Rob。 – 2012-03-19 13:14:23