我正在尝试通过PHP exec调用运行ffmpeg,我已经调试了一段时间并在这里查看了很多响应,但仍未找到任何答案...
我简化的电话是:
$cmd = 'ffmpeg 2>&1';
exec(escapeshellcmd($cmd), $stdout, $stderr);
var_dump($stderr);
var_dump($stdout);
var_dump($cmd);
exit;
Run Code Online (Sandbox Code Playgroud)
我的输出是$ 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 - 没有运气.
我现在已经开始工作了 - 我想可能有几个问题:
事实证明,$cmd = 'ffmpeg'返回null,所以这不是一个好的测试!
还在'2>&1'上运行escape shell命令回应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;
Run Code Online (Sandbox Code Playgroud)
如上所述,ffmpeg有点内存耗,因此值得检查内存.
| 归档时间: |
|
| 查看次数: |
4417 次 |
| 最近记录: |