在cPanel中安装支持HEIC格式的PHP Imagick扩展
解决cPanel环境下PHP Imagick 3.7.0不支持HEIC格式的问题
核心问题:PECL安装的Imagick依赖系统级ImageMagick,默认环境的ImageMagick未编译HEIC支持。需先部署带HEIC支持的ImageMagick,再重新编译Imagick扩展。
步骤1:安装HEIC依赖库
CentOS 7需先安装HEIC解码/编码依赖:
yum install -y epel-release yum install -y libheif-devel libheif-tools
步骤2:编译带HEIC支持的ImageMagick
先卸载系统默认的ImageMagick:
yum remove -y ImageMagick ImageMagick-devel
下载并编译兼容Imagick 3.7.0的ImageMagick版本(推荐7.1.x分支):
cd /usr/local/src wget https://imagemagick.org/download/ImageMagick-7.1.0-49.tar.gz tar xzf ImageMagick-7.1.0-49.tar.gz cd ImageMagick-7.1.0-49 ./configure --prefix=/usr --with-heif --enable-shared --disable-static make -j$(nproc) make install ldconfig
验证HEIC支持:
convert -list format | grep HEIC
输出含HEIC* rw-即表示成功。
步骤3:重新编译安装PHP Imagick扩展
卸载原PECL安装的Imagick:
pecl uninstall imagick
编译安装Imagick 3.7.0,指定依赖的ImageMagick路径:
cd /usr/local/src wget https://pecl.php.net/get/imagick-3.7.0.tgz tar xzf imagick-3.7.0.tgz cd imagick-3.7.0 /opt/cpanel/ea-php80/root/usr/bin/phpize ./configure --with-imagick=/usr --with-php-config=/opt/cpanel/ea-php80/root/usr/bin/php-config make -j$(nproc) make install
添加扩展到PHP 8.0的配置文件:
echo "extension=imagick.so" >> /opt/cpanel/ea-php80/root/etc/php.ini
重启PHP-FPM服务:
/scripts/restartsrv_apache_php_fpm
步骤4:验证PHP Imagick的HEIC支持
执行命令行验证:
/opt/cpanel/ea-php80/root/usr/bin/php -r '$imagick = new Imagick(); var_dump(in_array("HEIC", $imagick->queryFormats()));'
输出bool(true)即为成功。
内容的提问来源于stack exchange,提问作者Dilz
相关产品推荐
相关产品推荐

