图片实时压缩(实验功能)

ImgURL Pro本地存储方式支持Tinypng压缩,但是存在以下3个缺陷:

  1. 不是实时压缩
  2. 依赖Tinypng API压缩,网络影响比较大,效率非常低
  3. 不支持其它存储方式压缩

为了解决这个问题,从ImgURL 2.x开始支持实时压缩方案,默认隐藏且不开启,该功能处于实验阶段,后期可能会有所调整,如需开启的朋友按照下面的步骤操作即可。

前提条件

  1. PHP已经安装imagemagick扩展,宝塔用户可以在PHP管理里面查看和安装,如下图。
  2. 安装pngquant(仅Linux),需要在命令行操作,方法如下:
#CentOS 7.x
yum -y install pngquant
#Debian or Ubuntu
sudo apt-get install pngquant
  1. 修改配置文件config.php在底部加入如下内容:
//开启压缩,默认不开放
$config['compress']['switch'] = TRUE;
//压缩质量,数字越小,压缩效果越好,但是速度越慢,建议配置在70-80
$config['compress']['quality'] = 80;
//pngquant路径,可以先用which pngquant命令查看是否是下面的路径,如果不是,则修改
$config['compress']['pngquant'] = '/usr/bin/pngquant';
  1. 开启PHP的exec函数,宝塔用户可以在PHP管理 - 禁用函数 - 找到exec,并将其删除
  2. 最后重启PHP,上传图片对比图片大小查看效果

注意

  1. 使用此功能建议服务器最低配置为2C4G
  2. 该功能仅支持压缩.jpg/.png,其它格式暂不支持

版本号 #5
由 xiaoz 创建于 13 四月 2022 01:15:34
由 xiaoz 更新于 17 四月 2022 13:19:49