所有分类
  • 所有分类
  • 其它

解决WordPress站点健康页面可选的模组未被安装的问题

关键词: 可选的模组imagick未被安装或已被禁用。 可选的模组exif未被安装或已被禁用。我的wordpress后台的站点健康页面一直在提示这两项模块有问题,之前因为不影响使用,所以一直也不怎么理它们,但是做为一个有强迫症的闷骚男,总觉得每次登陆后台看到这样的提示不太满意,所以也抽空解决了这两个问题。
我们知道,出现这两个问题是因为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

社交账号快速登录