之前曾介绍过宝塔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

sOjZC.png

根据服务器具体情况修改以下几项的值,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)原创内容,转载请注明出处。

s62Gp.png
s6GEn.png

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