更新博客的时候,发现imagick、fileinfo和exif模块没有被安装或没有启用,网上很多教程都是教大家在php.ini文件里启用这两个模块,但是我在服务器上却完全没有发现有这两个模块,所以我知道是当时在编译php的时候没有把这两个模块安装。
一、解决imagick未被安装
find / -name php.ini
先知道我们的php.ini文件在哪里
yum install ImageMagick ImageMagick-devel -y
安装ImageMagick,我不知道这个是不是必须安装,当然,您也可以跳过这一步看看。
wget http://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
到这一步,如果编译过程中没有错误的话,imagick模块已经安装完毕了。
vi /etc/php.ini
#根据第一步之前所查找到的php.ini路径
vi 的使用方法是 小写字母i键进入编辑状态,Esc键退出编辑状态,Shift键+ZZ键保存退出
在空白地方输入 extension=imagick.so 然后保存退出。
二、解决exif及fileinfo未被安装
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 然后保存退出。
PS:fileinfo的操作是一样的,再次就不累述了。
三、重启php即完成所有安装了。
service php-fpm restart