PHP ffmpeg exec返回null
我正在尝试通过
PHP exec调用运行ffmpeg,我已经调试了一段时间并在这里查看了很多响应,但仍未找到任何答案…
我简化的电话是: $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){} 我也尝试了返回NULL的shell_exec($cmd). cmd.exe具有为IUSR帐户设置的权限 – 例如我可以运行$cmd =’dir’并查看目录列表输出. PHP未在安全模式下运行. ffmpeg.exe与我的php文件位于同一目录中,但我有相同的响应,给出了$cmd中ffmpeg.exe文件的绝对路径. 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; 如上所述,ffmpeg有点内存耗,因此值得检查内存. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |