【问题标题】:Intervention\Image from Laravel doesn't manage webpLaravel 的 Intervention\Image 不管理 webp
【发布时间】:2018-02-06 05:18:54
【问题描述】:

在我的开发服务器上一切正常,我通过表单上传的图像被转换为​​

Image::make($img)->encode('webp');

当我去检查它时,它是完美的。

在我的生产服务器上,情况有点不同,例如,如果我上传一个方形图像(完全红色),在编码后我会得到一个褐色/金色的图像,而其他图像我会得到一个空白空间。

由于正在创建图像,我认为只是编码有问题,可能是我错过了一些配置..

开发服务器上的 GD 库版本为 2.4.1,生产服务器上的版本为 2.1.1

一切都在 Ubuntu 17.10 开发版和 16.04 生产版上运行。

Laravel 5.5 版

编辑

开发和生产中的 PHP 版本 7.0

编辑 2

出来的就是这种形象

【问题讨论】:

  • 我遇到了一些关于 GD 的问题 - 你尝试过 ImageMagick 吗?
  • 我尝试安装 imagemagick(编译时支持 webp)并设置 imagick 模块,但它说“这个 imagick 安装不支持 webp 格式”
  • 也许这个来自 gdlib 的问题会帮助你:github.com/libgd/libgd/issues/254
  • 尝试提高质量? Image::make($img)->encode('webp', 100);
  • 我现在尝试将其设置为 ->encode('webp', 100) 但没有成功。还是一样的质量。

标签: php laravel gd laravel-5.5 intervention


【解决方案1】:

好的,我可能做错了什么(有经验的人请纠正我)但我成功了。

我在 Ubuntu 16.04 LTS 上,libgd-dev 唯一可用的软件包是 2.1.1,所以这是我为升级它所做的:

https://packages.ubuntu.com/artful/amd64/{name-of-the-package}/download下载了这些包

zlib1g_1.2.11.dfsg-0ubuntu2_amd64.deb

zlib1g-dev_1.2.11.dfsg-0ubuntu2_amd64.deb

libwebp6_0.6.0-3_amd64.deb

libpng16-16_1.6.34-1_amd64.deb

libgd3_2.2.5-3_amd64.deb

libgd-dev_2.2.5-3_amd64.deb

我按照列出它们的顺序安装了它们,但是我只是看到了 dpkg 抱怨的依赖项并安装了它。

图像编码代码现在可以完美运行

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-06
    • 1970-01-01
    • 1970-01-01
    • 2018-08-15
    • 1970-01-01
    • 2017-11-24
    • 1970-01-01
    相关资源
    最近更新 更多