我编译了具有HEIC支持的最新ImageMagick,它是在Terminal中从命令行运行的,而不是在PHP中运行的。显然,根据Apache2日志,PHP无法找到和加载扩展。在PHP 7.4中,似乎不再在php.ini中启用扩展,而是每个扩展都有自己的.ini,而imagick的扩展名是
/etc/php/7.4/mods-available/imagick.ini
。 。 。或可能在其中(不确定正在使用哪个,但都启用了它):
/etc/php/7.4/cli/conf.d/20-imagick.ini
但是我不确定imagick.so文件的实际位置,并且使用 locate imagick.so 找不到它。 ImageMagick是使用此工具进行编译和安装的,但是除了进行了少许修改之外,我没有编写它:
sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
sudo apt-get update
sudo apt-get install build-essential autoconf git-core
sudo apt-get build-dep imagemagick libde265 libheif
cd /usr/src/
sudo git clone https://github.com/strukturag/libde265.git
sudo git clone https://github.com/strukturag/libheif.git
cd libde265/
sudo ./autogen.sh
sudo ./configure
sudo make –j4
sudo make install
cd /usr/src/libheif/
sudo ./autogen.sh
sudo ./configure
sudo make –j4
sudo make install
cd /usr/src/
sudo wget https://www.imagemagick.org/download/ImageMagick.tar.gz
sudo tar xf ImageMagick.tar.gz
cd ImageMagick-7*
sudo ./configure --with-heic=yes
sudo make –j4
sudo make install
sudo ldconfig
mogrify --version
完成后输出:
Version: ImageMagick 7.0.9-8 Q16 x86_64 2019-12-21 https://imagemagick.org
Copyright: © 1999-2020 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI OpenMP(4.5)
Delegates (built-in): bzlib djvu fontconfig freetype heic jbig jng jpeg lcms lqr lzma openexr png tiff wmf x xml zlib
答案 0 :(得分:0)
试试这个。我在 ubuntu 20.04(和 18.04)上使用了 php7.4。 https://eplt.medium.com/5-minutes-to-install-imagemagick-with-heic-support-on-ubuntu-18-04-digitalocean-fe2d09dcef1