我们知道,出现这两个问题是因为imagick和exif模块没有被安装或没有启用,网上很多教程都是教大家在php.ini文件里启用这两个模块,但是我在服务器上却完全没有发现有这两个模块,所以我知道是当时在编译php的时候没有把这两个模块安装。一、解决imagick未被安装
find / -name php.ini
先知道我们的php.ini文件在哪里,我这里有好几个php.ini
[root@iZ~]# find / -name php.ini /etc/php.ini /usr/local/oldphp20200711193404/etc/php.ini /usr/local/oldphp20210318103945/etc/php.ini /usr/local/php/etc/php.ini /usr/local/oldphp20210318102602/etc/php.ini
yum install ImageMagick ImageMagick-devel -y
安装ImageMagick,我不知道这个是不是必须安装,当然,您也可以跳过这一步看看。
wget https://pecl.php.net/get/imagick-3.4.4.tgz tar -xzvf imagick-3.4.4.tgz cd imagick-3.4.4 /usr/local/php/bin/phpize #不知道phpize路径的话,请执行下边命令 find / -name phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install
如要在phpize这一步提示以下错误的话,请按照以下方法来操作。这是提示Autoconf版本低,要安装高一级版本。
configure.ac:3: error: Autoconf version 2.68 or higher is required
configure.ac:3: the top level
autom4te: /usr/bin/m4 failed with exit status: 63
rpm -qf /usr/bin/autoconf rpm -e --nodeps autoconf-2.63 wget ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz tar zxvf autoconf-2.69.tar.gz cd autoconf-2.69 ./configure --prefix=/usr/ make && make install /usr/bin/autoconf -V
然后再回到imagick安装步骤,到这一步,如果编译过程中没有错误的话,imagick模块已经安装完毕了。
vi /etc/php.ini #根据第一步之前所查找到的php.ini路径
vi 的使用方法是 小写字母i键进入编辑状态,Esc键退出编辑状态,Shift键+ZZ键保存退出
在空白地方输入 extension=imagick.so 然后保存退出。
二、解决exif未被安装
php -v
先查看当前php版本。例如,下边以php7.4.4为演示,请下载你当前版本的php安装包
wget https://www.php.net/distributions/php-7.4.4.tar.bz2 bzip2 -d php-7.4.4.tar.bz2 tar -xvf php-7.4.4.tar cd php-7.4.4/ext/exif/ /usr/local/php/bin/phpize #如果不知道phpize,请用find查找 ./configure --with-php-config=/usr/local/php/bin/php-config make && make install
到这一步,如果编译过程中没有错误的话,exif模块已经安装完毕了。
vi /etc/php.ini #根据第一步之前所查找到的php.ini路径
在空白地方输入 extension=exif.so 然后保存退出。
service php-fpm restart
重启php即完成所有安装了。
注:如果按照以上步骤操作完成后还是显示,即代表不成功,问题可能是出在php.ini上,你把那两个添加到 其他php.ini里即可。
vi vi /usr/local/php/etc/php.ini #模块路径 extensions:=/usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/imagick.so extensions:=/usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/exif.so