Imagick在PHP 7.2中无法设置WebP格式。

8
我已经安装并且成功使用了ImageMagick 6.7.8-9以及cwebp和dwebp(libwebp, libwebp-devel)命令行工具。同时,我也安装了来自webtatic的php7.2。
但是我遇到了一个问题,即php imagick不能与webp扩展一起正常工作(其他格式都正常)。当我尝试使用Imagick时会出现以下错误:致命错误:无法设置图像格式 in ... : Imagick->setimageformat('webp') 请帮助我解决这个问题,我已经搜索了很多资料,但是没有找到与此问题相关的stackoverflow文章。任何线索、指导或答案将不胜感激,先在这里谢过了。

1
运行 php -i | grep ImageMagick。在“支持的格式”下是否列出了 WEBP?如果没有,您可能需要从源代码安装 Imagick - emcconville
1
谢谢你的答复,我已经这么做了,但它没有列出来。但问题是,从命令行convert image.jpg image.webp运行正常。如果我看起来有点烦人,对不起,请问为什么它不能正常工作?此外,我能否卸载Imagemagick 6并安装Imagemagick 7而不影响PHP的imagick?(我在某个地方读到应该这样做) - sami
1个回答

9

不要使用Imagick->setimageformat('webp'),请改用以下语法:

$imagick = new \Imagick('/tmp/foo.jpg'); $imagick->writeImage('webp:/tmp/foo.webp');

这样应该就可以解决问题了;-)


我使用了这种方法,输出文件的格式是webp,但其内容却是jpeg文件格式。 - iman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接