ffmpeg not working with php exec. Error: 133

ffmpeg not working with php exec. Error: 133

我正在尝试使用 ffmpeg 从视频文件生成缩略图。

当我 运行 从我的 Mac 终端执行以下命令时,它工作正常:

ffmpeg -i video.mp4 -ss 00:00:01.000 -vframes 1 out.png

当我尝试使用来自 php exec 的相同命令时,它不起作用:

exec('/usr/local/bin/ffmpeg -i video.mp4 -ss 00:00:01.000 -vframes 1 test.png 2>&1', $output, $return_var);

$输出:

Array
(
   [0] => dyld: Symbol not found: _sqlite3_intarray_bind
   [1] =>   Referenced from: /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
   [2] =>   Expected in: /Applications/XAMPP/xamppfiles/lib/libsqlite3.dylib
   [3] =>  in /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
)

$return_var:

133

请帮忙

这可能是因为 DYLD_LIBRARY_PATH 链接到 XAMPP 库文件夹。在 exec 命令之前添加以下行,它应该可以工作:

putenv('DYLD_LIBRARY_PATH');