【发布时间】:2012-04-23 20:38:50
【问题描述】:
我通过 PHP 的 exec() 命令在 MAMP 中的 Mac OSX 10.7.3 上使用 ffmpeg,我设置了一个绝对路径来调用 ffmpeg,例如
/opt/local/bin/ffmpeg -i "/sample.avi"
但我收到以下错误 -
dyld: Library not loaded: /opt/local/lib/libjpeg.8.dylib Referenced from: /opt/local/lib/libopenjpeg.1.dylib Reason: Incompatible library version: libopenjpeg.1.dylib requires version 13.0.0 or later, but libJPEG.dylib provides version 12.0.0
注意ffmpeg 是通过 Macports 安装的。
它可以从命令行运行。
怎么办?
编辑
我重新打开了这个 - 最初认为 shell_exec() 解决了这个问题,但实际上它应该被称为不同的 - 我直到今天进一步调查才意识到。这是我使用 shell_exec 的代码,但仍然出现上述错误:
$cmd = '/opt/local/bin/ffmpeg -h';
$cmd = escapeshellcmd($cmd) . ' 2>&1';
$output = shell_exec($cmd);
var_dump($output);
【问题讨论】:
-
可能是一个问题,因为 ffmpeg 是通过 macports 安装的,而不是在 MAMP 环境中?
-
我现在添加了这个作为答案,删除了其他 cmets。
-
我的错:
shell_exec正在返回null- 我直到今天进一步调查才注意到。当我正确调用shell_exec时,我得到了同样的错误。