查看: 519|回复: 0

OneinStack 下 iMagick 添加 WebP 支持

[复制链接]

10

主题

1

回帖

42

积分

新手上路

积分
42
发表于 2025-4-19 10:10:26 | 显示全部楼层 |阅读模式
背景

在 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 的支持。这里直接使用包管理命令安装:


  1. apt-get install libwebp-dev -y
复制代码

然后进入 ~/oneinstack/include 文件夹,编辑 ImageMagick.sh 文件:


  1. cd ~/oneinstack/include
  2. nano ImageMagick.sh
复制代码

在带有 ./configure 的两行后面添加 –with-webp=yes,修改后的效果:


  1. ./configure --prefix=${imagick_install_dir} --enable-shared --enable-static --with-webp=yes
  2. ./configure --with-php-config=${php_install_dir}/bin/php-config --with-imagick=${imagick_install_dir} --with-webp=yes
复制代码

如果已经安装有 iMagick,先运行卸载命令,然后再重新编译安装:


  1. ~/oneinstack/uninstall.sh --php_extensions imagick #卸载
  2. ~/oneinstack/install.sh --php_extensions imagick #安装
复制代码

等待完成信息显示后,尝试如下命令检查输出结果是否带 WEBP:


  1. php -r "print_r(Imagick::queryFormats());"
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|青ICP备2025004122号-1

在本版发帖
关注公众号
返回顶部