WordPress站点健康之PHP模组Exif和Imagick
本文于 134 天前发布,最后更新于 29 天前

一、问题背景

在 WordPress 配置界面的工具中的站点健康检查出现 “缺少一个或多个推荐的模组”,以及 “可选的模组 exif 未被安装或已被禁用” 和 “可选的模组 imagick 未被安装或已被禁用”。

二、Exif 和 Imagick 是什么

由于我没有学过 PHP,不太了解这两个模组有什么具体的功能。感兴趣的可以详细去了解一下。

Exif
https://blog.csdn.net/gitblog_00991/article/details/143556269
Imagick
https://blog.csdn.net/gitblog_00047/article/details/139057418

三、安装配置

3.1 exif

由于我的 PHP 是通过源码安装的,所以我在我的源码包中找到了 exif 的文件夹,就省去了源码下载的过程。

将模组文件夹 exif/ 拷贝到 PHP 的 ext 目录【extend】,我的目录是

/usr/local/php/include/php/ext
# 找不到的话,可以用find命令搜索一下
find / -name "ext"

进入到 exif 目录,没有 configure 文件的话,执行 phpize

/usr/local/php/bin/phpize

源码安装三部曲

./configure --with-php-config=/usr/local/php/bin/php-config
make
make install

其中 /usr/local/php/bin/php-config 需要根据自己的环境修改,同理找不到的可以搜索一下。

三部曲执行完成后会在 exif 目录下的 modules 目录中生成 exif.so 文件,将它拷贝到 ext 目录下。

3.2 imagick

由于我的 PHP 源码包中没有找到 imagick 的包,只能从网上拉取。

wget https://pecl.php.net/get/imagick-3.7.0.tgz

源码包解压

tar -zxvf imagick-3.7.0.tgz

同样进入到 imagick 目录

cd imagick-3.7.0

如果目录中没有./configure 文件,那么可以执行 phpize

/usr/local/php/bin/phpize

执行完,configure 文件就出现了

源码安装三部曲,此时会发现./configure --with-php-config=/usr/local/php/bin/php-config 会报错:

checking ImageMagick MagickWand API configuration program...
checking Testing /usr/local/bin/MagickWand-config... Doesn't exist
checking Testing /usr/bin/MagickWand-config... Doesn't exist
checking Testing /usr/sbin/bin/MagickWand-config... Doesn't exist
checking Testing /opt/bin/MagickWand-config... Doesn't exist
checking Testing /opt/local/bin/MagickWand-config... Doesn't exist
configure: error: not found. Please provide a path to MagickWand-config or Wand-config program.

原因是 PHP 的模组依附于 ImageMagick 而生效,而服务器中并没有安装 ImageMagick。故而,需要进行安装。可惜的是我的服务器使用源安装 yum install -y ImageMagick-devel 并没有找到包,所以还是用源码安装的方式。

wget https://imagemagick.org/archive/ImageMagick.tar.gz

解压源码包

tar -zxvf ImageMagick.tar.gz

再次进入目录

cd ImageMagick-7.1.1-41/

源码安装三部曲

./configure
make
make install

ImageMagick 安装完毕后,再回过头来,重新安装 imagick,便可成功。

安装成功后同样会在 imagick-3.7.0 目录下的 modules 中生成 imagick.so 文件,将它拷贝到 ext 目录下。

3.3 配置 PHP

编辑 php.ini 文件,我的路径是 /usr/local/php/etc/php.ini,同理找不到的可以搜索一下。

extension_dir = "/usr/local/php/include/php/ext/"
extension=exif.so
extension=imagick.so

保存后退出文件。

重启 Web 服务器

nginx -s reload

验证模组是否安装成功

[root@dameng etc]# /usr/local/php/bin/php -m
[PHP Modules]
bcmath
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
imagick
...
...

此时,回到 WordPress 配置界面查看站点健康依旧提示两模组未安装,需要重启 PHP 服务

[root@dameng ~]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done

至此,再次查看站点健康便没有问题了。

问题解决。

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇