php - ffmpeg MAMP "dyld: Library not loaded"错误

标签 php macos ffmpeg

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

最佳答案

问题是 DYLD_LIBRARY_PATH 是在 MAMP 中设置的,我已经通过 macports 安装了 ffmpeg。

这可能不是最好的解决方案,但它让我现在可以正常运行:

/Applications/MAMP/Library/bin/envvars 文件中,注释以下行:

#DYLD_LIBRARY_PATH="/Applications/MAMP/Library/lib:$DYLD_LIBRARY_PATH"
#export DYLD_LIBRARY_PATH

并重启Apache

关于php - ffmpeg MAMP "dyld: Library not loaded"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10107671/

相关文章:

php - 如何在 SQL 中提交引号 (') 符号

php - 通知: Unidentified Index: QNo in C:\\xampp\htdocs\,

php - 在 Laravel4 中过滤返回关系的字段?

macos - NSEvent `subtype` 相当于 CGEvent?

将图像和音频加入结果视频

FFmpeg 图像调整大小以填充像 `cover` 这样的裁剪

ffmpeg - FFMPEG 中的“流 1 中的输入数据包损坏”错误

php - 单个 php,同时包含三种不同类别的图像

macos - 处理锁定的文件

python-3.x - 使用 DataFrame 和 math.exp 错误时出现无法转换为 Float 错误