我正在尝试使用Imagick打开ARW
(Sony原始图片格式)文件,如下所示:
$imgOriginal =new Imagick();
file_put_contents($mptFile, $response->body);
$imgOriginal->setformat(strtolower(str_replace(".", "",$_typeFile)));
$imgOriginal->readimage(__DIR__. DIRECTORY_SEPARATOR .$mptFile);
文件本身是从亚马逊s3下载的,放在本地磁盘上,然后我试图将其转换为jpeg。在Windows上一切正常,但是当我在Linux服务器(Amazon EC2实例)上运行该代码时,我收到如下错误(readimage
抛出它):
消息:无法打开图像`/tmp/magick-XX3txRwQ.ppm':没有这样的文件 或目录@ blob.c / OpenBlob / 2480
最初,我使用的是readimageblob
而不是readimage
,但却遇到了同样的问题。
在我看来,它无法创建某种临时文件,但我没有设置open_basedir
并且/tmp
文件夹向所有人开放(其权限:{{1} })
同时,它适用于JPEG文件。
有什么方法可以解决这个问题吗?
答案 0 :(得分:1)
经过一番研究后我发现我的linux机器上没有安装ufraw-batch
工具。这是一个实际进行RAW图像处理的工具。
我已安装它,现在一切正常。