脱初心者備忘録

ImageMagickをWindows10のXAMPPにインストールする

ImageMagick は、プログラム上で、画像を加工したり、操作したりするために必要なソフトです。
画像をサーバーにアップロードする際は、画像を適切なサイズにリサイズするのにImageMagickを使うことが多いです。

通常、レンタルサーバーであれば最初からImageMagick を使用できる環境になっているところがほとんどですが、ローカル環境のXAMPPの場合、自身で自分のXAMPPバージョンに合わせて、ImageMagickのバージョンを選んでインストールする必要があります。

このImageMagick のインストール手順の備忘録です。

自身のXAMPPのPHPのバージョンの確認

まずXAMPPを立ち上げ、ダッシュボードにアクセスし、phpinfoを開きます。

http://localhost/dashboard/phpinfo.php

重要なのは、黄色の線で囲んだ部分。x64TS, 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を確認します。

PHPInfo

imagick の項目があれば無事インストールができています。

エラーが起こった場合

エラーが起こったときは、たいていは、バージョン間違いか、書き間違いです。
PHPのバージョンに合わせてダウンロードすれば、通常は大丈夫ですが、まれに難しいエラーが起こることがあるので、その場合は、①TSをNTSにして試す、②ImageMagickのバージョンを落とす、③php.iniに全角スペースや書き間違いが無いか調べる、④binの中身のコピーを落ち着いてやり直すなど行ってみてください。

XAMPPはバージョンによって、Extensionの書き方が違うので、そのことでエラーになることもあります。
エラーはApacheやPHPでエラーログを見ることができるので、コントロールパネルの、Logsというボタンをクリックしてログを見ることをお勧めします。