背景
在 OneinStack 的默认配置下,nginx 的 GD 没有编译 WebP 支持,同样的 iMagick 也默认没有编译 WebP 支持。而 WebP 最初在 2010 年 9 月发布,其支持库于 2018 年 4 月发布 1.0 版本。截至 2021 年 5 月,已有 94% 的浏览器支持此格式。
虽然 WebP 是一种适合用于网络分发的图片格式,但日常并不会用到。更多的还是以 JPG、PNG 等文件格式上传的图片,所以还需要使用 iMagick 之类的程序进行转换。现在让我们为 OneinStack 下的 iMagick 添加 WebP 支持。
编译安装步骤
编译支持 WebP 模块的 iMagick 需要有 libwebp 的支持。这里直接使用包管理命令安装:
apt-get install libwebp-dev -y
然后进入 ~/oneinstack/include 文件夹,编辑 ImageMagick.sh 文件:
cd ~/oneinstack/include
nano ImageMagick.sh
在带有 ./configure 的两行后面添加 –with-webp=yes,修改后的效果:
./configure --prefix=${imagick_install_dir} --enable-shared --enable-static --with-webp=yes
./configure --with-php-config=${php_install_dir}/bin/php-config --with-imagick=${imagick_install_dir} --with-webp=yes
如果已经安装有 iMagick,先运行卸载命令,然后再重新编译安装:
~/oneinstack/uninstall.sh --php_extensions imagick #卸载
~/oneinstack/install.sh --php_extensions imagick #安装
等待完成信息显示后,尝试如下命令检查输出结果是否带 WEBP:
php -r "print_r(Imagick::queryFormats());"
yeni
2022-12-03 17:53WebP虽然赞,但我还是换回来了。没有别的原因,单纯是因为自己比较菜。👽