Php Imagick can';无法打开原始文件
我正试图用Imagick打开Php Imagick can';无法打开原始文件,php,imagick,Php,Imagick,我正试图用Imagick打开ARW(索尼原始图像格式)文件,如下所示: $imgOriginal =new Imagick(); file_put_contents($mptFile, $response->body); $imgOriginal->setformat(strtolower(str_replace(".", "",$_typeFile))); $imgOriginal->readimage(__DIR__. DIRECTORY_SEPAR
ARW
(索尼原始图像格式)文件,如下所示:
$imgOriginal =new Imagick();
file_put_contents($mptFile, $response->body);
$imgOriginal->setformat(strtolower(str_replace(".", "",$_typeFile)));
$imgOriginal->readimage(__DIR__. DIRECTORY_SEPARATOR .$mptFile);
文件本身是从AmazonS3下载的,放在本地磁盘上,然后我尝试将其转换为jpeg。在Windows上一切正常,但当我在Linux服务器(AmazonEC2实例)上运行该代码时,会出现如下错误(readimage
抛出它):
消息:无法打开映像“/tmp/magick-XX3txRwQ.ppm”:没有此类文件
或目录@blob.c/OpenBlob/2480
最初,我使用的是readimageblob
而不是readimage
,但它也有同样的问题
在我看来,它似乎无法创建某种临时文件,但我没有设置类似的open\u basedir
,并且/tmp
文件夹向所有人打开(其权限:drwxrwx 3 root
)
同时,它可以很好地处理JPEG文件
有什么办法解决这个问题吗?经过一些研究,我发现我的linux机器上没有安装
ufraw batch
工具。这是一个真正进行原始图像处理的工具
我已经安装好了,现在一切都很好 对于使用brew的macOS用户:
brew安装ufraw
我也有同样的问题,安装ufraw或dcraw并不能解决这个问题。