WordPress ApacheimagickPHP自宅サーバ

自宅サーバ・ローカル環境の WordPress サイトを Imagick / ImageMagick に対応させる

abundance WordPress
スポンサーリンク

※ この記事は下記の記事を補足するために作成したものです。

ワードプレスでは パフォーマンスの低下を理由に PHP 7 以上をおすすめしています。
また、よりスマートな画像サイズ変更 ( 小さい画像用 ) および PDF サムネイルのサポートするためのシステムパッケージとして、ImageMagickGhost Script が含まれています。これらを有効化するために設定を追加します。

環境・現状

  • CentOS 7.6
  • PHP 7.3.7
  • Apache httpd 2.4.39

サイトヘルス」のステータスを確認して気づきました!

wp-site-health-status-imagick-not-found
▲ imagick モジュールエラーが発生していました

対処します!

設置済みの PHP 関連パッケージを確認する ( 任意 )

php で始まる全てのパッケージを調べます。

yum list installed | cut -d " " -f 1  | grep php

ImageMagick パッケージをインストールする

[root@centos7 php.d]# yum -y install ImageMagick ImageMagick-devel

PHP関連パッケージをインストールしておく

PHP で利用できるライブラリ ( パッケージ ) を提供してくれる php-pear と、PHP 拡張を構築するために必要なファイルが含まれている php-devel をインストールします。

[root@centos7 php.d]# yum install php-pear
[root@centos7 php.d]# yum install php-devel

Imagick パッケージをインストールする

[root@centos7 php.d]# pecl install Imagick
downloading imagick-3.4.4.tgz ...
Starting to download imagick-3.4.4.tgz (253,434 bytes)
...


Please provide the prefix of ImageMagick installation [autodetect] :   << ここでエンターキーを押下

...

Build process completed successfully
Installing '/usr/lib64/php/modules/imagick.so'
Installing '/usr/include/php/ext/imagick/php_imagick_shared.h'
install ok: channel://pecl.php.net/imagick-3.4.4
configuration option "php_ini" is not set to php.ini location
You should add "extension=imagick.so" to php.ini

imagick 用拡張子ファイルを作成する

[root@centos7 php.d]# vi 20-imagick.ini
; Enable imagick extension module
extension=imagick.so

確認する

[root@centos7 php.d]# php -i | grep Imagick
imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator
Imagick compiled with ImageMagick version => ImageMagick 6.7.8-9 2019-02-01 Q16 http://www.imagemagick.org
Imagick using ImageMagick library version => ImageMagick 6.7.8-9 2019-02-01 Q16 http://www.imagemagick.org

デーモンを再起動する

HTTPD2PHP-FPM デーモンを再起動して有効化してください。

[root@centos7 php.d]# systemctl restart httpd2
[root@centos7 php.d]# systemctl restart php-fpm

phpinfo 画面で詳細を確認する

ドキュメントルートが /usr/local/apache2/htdocs の場合、下記の様にテスト用ファイルを作成してください。

[root@newiff htdocs]# echo '<?php echo phpinfo(); ?>' > /usr/local/apache2/htdocs/index.php

ブラウザを開いて example.com/index.php にアクセスして imagick 項目が表示されたら OK です!

wp-site-health-status-imagick-2
▲ 拡張子ファイルが追加されています
wp-site-health-status-imagick-1
▲ imagick module が有効化されています
wp-site-health-status-imagick-3
▲ 問題が解決されました!
スポンサーリンク

参考文献

ImageMagick

コメント

タイトルとURLをコピーしました