ga('set', 'anonymizeIp', 1);
Categories: 运维

[20221126更新]宝塔PHP7.4编译安装支持WEBP格式的ImageMagick及设置

之前曾介绍过宝塔PHP7.3的GD库不支持WEBP,需升级到PHP7.4文章链接。现在Chevereto最新版的最低环境要求已经提高到PHP7.4,MYSQL5.7。而且已经支持ImageMagick,但宝塔PHP7.4默认安装的ImageMagick却不支持WEBP格式,Chevereto对PHP8的兼容又不太好。以下介绍宝塔PHP7.4编译安装ImageMagick及设置的方法。


安装最新ImageMagick库(当前最新版7.1.0)

  • 下载源码

源码地址:https://github.com/ImageMagick/

git clone https://github.com/ImageMagick/ImageMagick.git ImageMagick-7.1.0
  • 编译安装
cd ImageMagick-7.1.0
./configure --with-modules
make
sudo make install
sudo ldconfig /usr/local/lib
/usr/local/bin/convert logo: logo.gif
make check

check结果如下即无问题

============================================================================
Testsuite summary for ImageMagick 7.1.0-40
============================================================================
# TOTAL: 86
# PASS:  86
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================


安装PHP扩展imagick

  • 下载安装包

在https://pecl.php.net/package/imagick 下载安装包,本文所用为当前最新版的imagick-3.7.0,从3.4.4后的版本都支持WEBP。

wget https://pecl.php.net/get/imagick-3.7.0.tgz
  • 解压安装包
tar -xzvf imagick-3.7.0.tgz
  • 编译安装
cd imagick-3.7.0
/www/server/php/74/bin/phpize
./configure --with-php-config=/www/server/php/74/bin/php-config
make && make install
  • 配置PHP及ImageMagick

编辑PHP7.4的配置文件,在末尾加上以下内容(no-debug-non-zts-20190902文件夹名称需以你服务器的具体文件夹名为准,请自行修改,勿照抄):

[imagick]
extension = /www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/imagick.so

搜索policy.xml文件,文件位于以下目录

identify -list configure | grep CONFIGURE_PATH

根据服务器具体情况修改以下几项的值,memory,map,area将限制ImageMagick所使用的内存缓存,width,height限制ImageMagick所处理的图片大小。

  <policy domain="resource" name="memory" value="1024MiB"/>
  <policy domain="resource" name="map" value="2048MiB"/>
  <policy domain="resource" name="width" value="16KP"/>
  <policy domain="resource" name="height" value="16KP"/>
  <policy domain="resource" name="area" value="2048MB"/>
  <policy domain="resource" name="disk" value="2GiB"/>

至此结束,本文为Madlax的杂物房(madlax.pw)原创内容,转载请注明出处。


参考:
1.ImageMagick – Advanced Linux Source Installation
2.https://github.com/Imagick/imagick

madlaxcb

View Comments

  • 我也是遇到同样的问题,可是照这里编译安装的还是不能使用,The imagick image library in this provisioning lacks support for the following image format(s):

    WEBP

  • 我买了个 之前安装成功了,现在怎么安装都安装不成功。届时可否麻烦博主帮看下

    • 最近换新机器搬迁,用的这个方法没问题,服务器分别是ubuntu20.04和22.04。会在make check这里发现一两个错误,看了下日志是个没见过的格式,反正我也用不到,直接忽略过去了,图床实际使用没有问题。

  • imagick-3.7.0目录下
    ./configure --with-modules --with-webp
    configure: WARNING: unrecognized options: --with-modules, --with-webp
    压根就没有这两个配置项吧

Recent Posts

Chevereto 4.2.4 改造,禁用API

4.2版新增了TAG功能,现在…

2周 ago

Windows 11 远程桌面“凭据不工作”的解决方法

依旧是脑残微软的设计风格,远程…

1月 ago

PVE7/PVE8 LXC容器开启TUN/TAP

今天打算用IPV6的LXC开启…

5月 ago

解决WIN10显示器重启后分辨率变低窗口乱跳问题

  最近换了显示器,当有事离开…

10月 ago

宝塔开启堡塔防入侵会导致Chevereto的Cron运行失败

昨晚给服务器搬迁,新服务器装了…

1年 ago