在我的开发服务器上一切都很好,我通过表单上传的图像被转换为
Image::make($img)->encode('webp');
当我去检查时,它是完美的。
在我的生产服务器上,情况有点不同,例如,如果我上传一个方形图像(完全红色),编码后我最终会得到一个棕色/金色图像,而对于其他图像,我最终会得到一个空白空间。
自从创建图像以来,我认为编码有问题,也许我错过了一些配置..
开发服务器上的 GD 库版本是 2.4.1,生产服务器上的 GD 库版本是 2.1.1
一切都在 Ubuntu 17.10 开发版和 16.04 生产版上运行。
Laravel 版本 5.5
编辑
开发和生产均采用 PHP 7.0 版本
编辑2
出来的就是这样的画面
好吧,我可能做错了什么(更有经验的人,请纠正我),但我成功了。
我使用的是 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 抱怨的是哪个依赖项并安装了它。
图像编码代码现在可以完美运行
面临同样的问题,但找不到
libgd-dev_2.2.5-3_amd64.deb
我可以在Ubuntu 16.04.7 LTS上替换哪个版本?