ImageMagick は、プログラム上で、画像を加工したり、操作したりするために必要なソフトです。
画像をサーバーにアップロードする際は、画像を適切なサイズにリサイズするのにImageMagickを使うことが多いです。
通常、レンタルサーバーであれば最初からImageMagick を使用できる環境になっているところがほとんどですが、ローカル環境のXAMPPの場合、自身で自分のXAMPPバージョンに合わせて、ImageMagickのバージョンを選んでインストールする必要があります。
このImageMagick のインストール手順の備忘録です。
自身のXAMPPのPHPのバージョンの確認
まずXAMPPを立ち上げ、ダッシュボードにアクセスし、phpinfoを開きます。
http://localhost/dashboard/phpinfo.php

重要なのは、黄色の線で囲んだ部分。x64でTS, VC15という数字を記憶します。
今回インストールする環境です。
- Windows10
- XAMPP 7.4.23
- PHP 7.4.23
- Build VC15
- x64
- Thread Safety enabled
ImageMagick 本体のダウンロード
上記の設定に合わせた本体をダウンロードします。
Windowsであれば下記からダウンロードします。
windows.php.net – /downloads/pecl/deps/

沢山のリンクの中からImageMagick という文字を探し、x64のほうをクリックします。
今回は「ImageMagick-7.1.0-18-vc15-x64.zip」という名前のZIPがダウンロードされたので、これを展開します。

今回必要なのは「bin」フォルダのみ。
xamppのあるディレクトリに移動し、xamppの中に「ImageMagick」という名前のフォルダを作成します。作成したら、その中に先ほどの「bin」フォルダをそのままコピー&ペーストします。

DLLのインストール
Windowsのxamppのphpで動かすには、DLLが別途必要なのでダウンロードします。
PHPマニュアル:PHP ImageMagickインストール手順

リンクのstable が安定版で、beta はベータ版です。最新のファイル名の横にあるWindowsマーク(DLL)をクリックします。

すると、詳細ページが開きます。
欲しいのは上記で調べたバージョン、PHP7.4のx64のTSです。(自身の環境に合わせてください)

このリンクをクリックすると、自身のPCにZIPがダウンロードされます。
今回は「php_imagick-3.7.0-7.4-ts-vc15-x64.zip」というZIPがダウンロードされました。
これを展開すると下記のようなフォルダができます。

まず、このフォルダにある、「php_imagick.dll」を、xamppフォルダにあるphpフォルダの中のextフォルダにコピー&ペーストします。
xampp\php\ext
次に、phpフォルダにあるphp.iniにコードを追加します。
追加する場所は、Dynamic Extensionsと書かれた場所の下です。
#xampp\php\php.ini に追加
extension=php_imagick.dll
これらの作業が終わったら、また「php_imagick-3.7.0-7.4-ts-vc15-x64」フォルダに戻ります。
このフォルダの中の、ファイルの名前が、CORE_で始まるファイルすべてを、先ほどXAMPPに作ったImageMagickフォルダのbinフォルダにコピー&ペーストします。

終わったらXAMPPのApacheを再起動します。
エラーなく立ち上がれば、次は、xamppのダッシュボードのPHPInfoでImageMagickを確認します。
imagick の項目があれば無事インストールができています。

エラーが起こった場合
エラーが起こったときは、たいていは、バージョン間違いか、書き間違いです。
PHPのバージョンに合わせてダウンロードすれば、通常は大丈夫ですが、まれに難しいエラーが起こることがあるので、その場合は、①TSをNTSにして試す、②ImageMagickのバージョンを落とす、③php.iniに全角スペースや書き間違いが無いか調べる、④binの中身のコピーを落ち着いてやり直すなど行ってみてください。
XAMPPはバージョンによって、Extensionの書き方が違うので、そのことでエラーになることもあります。
エラーはApacheやPHPでエラーログを見ることができるので、コントロールパネルの、Logsというボタンをクリックしてログを見ることをお勧めします。