我通过 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);