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();"
とすれば、稼働しているエクステンション等を確認できます。
