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