WordPressでPHPのimagickとzipが足りない

WordPressのダッシュボードを開いた際、サイトステータスヘルスという項目で、PHPのimagickエクステンションとzipエクステンションが足りないとのメッセージが…。
ほっといても問題なさそうだが、とりあえずインストールしてみた。

ImageMagickのインストール

PHPにimagickエクステンションを追加するため、先ずはImageMagickと云うパッケージをインストールします。

ググるとCentOS7にimagickを追加する方法が、かなりの数、ヒットしますが、殆どが最新版のImageMagickをインストールする方法を紹介しています。
ただ、その通りにインストールしようとすると、パッケージが足りないとのエラーメッセージが大量に表示される事に…。
ひとつずつインストールして行っても良いのですが、余りにも大量のエラーのため、挫折。

色々と調べていると、yumでImageMagickをインストールする方法を紹介しているページを発見!
以下のコマンドでPHPにimagickエクステンションを追加するところまでできる。

$ sudo yum install gcc
$ sudo yum install php-devel
$ sudo yum install pkgconfig
$ sudo yum install ImageMagick ImageMagick-devel ImageMagick-perl
$ sudo pecl install imagick

最後に、php.iniに以下の行を追加すれば、準備はOK。

extension=imagick.so

ZIPのインストール

こちらも、ググると色々と面倒な方法がヒットしますが、要はZIPを組み込んだPHPに変えればOKと云う事の様です。
ZIPを組み込んだPHPについては、php-pecl-zipというモジュールをインストールすれば良いようなので、

$ sudo yum install php-pecl-zip

とすればOKなように思えますが、実際にはこれだけでは足らず、PHPのバージョンに合わせてRemiリポジトリ経由でインストールする必要があり、コマンドは

$ sudo yum --enablerepo=remi,remi-php70 install php-pecl-zip

となります。
なお、remi-php70の部分は、PHPのバージョンによって変わります。

$ php -v

で取得したバージョンが7.4.xの場合、remi-php74に変えます。

なお、ZIPはPHPに組み込まれますので、php.iniにextensionの指定を追加する必要はありません。

Apacheの再起動と確認

インストールが済んだら、Apacheを再起動します。

$ sudo systemctl restart httpd

動いているかどうかの確認は、WordPressのサイトステータスヘルスを確認すれば良いのですが、コマンドラインからは、

$ php -r "phpinfo();"

とすれば、稼働しているエクステンション等を確認できます。

未分類

Posted by yoshia