Windows版PHPにimagick拡張を導入する (Laravel Herd)
はじめに
imagickの導入方法をよく忘れてしまうので忘備録として残しておきます。
この記事ではLaravel Herdを使用していますが、XAMPP/Laragon/手動インストール等でも問題ありません。
導入方法
1. imagick拡張のダウンロード
PECL(PHPの拡張パッケージを提供しているサービス)から、imagickのページに移動します。
ここで、ダウンロードしたいバージョンの行にある🪟DLLをクリックします。
今回は3.8.0をダウンロードします。

そしたら、PHPのバージョン・ビルド構成の選択画面に来ますので合うものを選びます。
HerdはデフォルトでNTSをダウンロードしてくれるのでNTSのx64を選択します。

2. imagick拡張の導入
-
PECLからダウンロードしたものを解凍します。
-
新しくエクスプローラーを開いて、PHPのインストールパス(php.exeのあるフォルダ)まで行きます。
(Herdの場合C:\Users\USERNAME\.config\herd\bin\php84等) -
解凍したフォルダ内の
php_imagick.dllをPHPインストールパス内にある<PHPインストールパス>/extフォルダ内に入れます。 -
解凍したフォルダ内の
CORE_RL_*.dll,IM_MOD_RL_*.dll,FILTER_analyze_.dllをすべて<PHPインストールパス>フォルダ内に入れます。 -
<PHPインストールパス>/php.iniにextension=imagickの記載を追加します。
(950行目あたりにあるextension=拡張名が沢山書いてある場所だと分かりやすい) -
最後に、Herdのサービスを
Stop all services→Start all servicesし、PHP-FPMを再起動します。
(phpコマンドの方はこれを実行しなくても即時反映されます)
おわり
最終的なフォルダ構成
Herdを使用している場合、最終的なフォルダ構成はこのようになります。
C:\Users\USERNAME\.config\herd\bin\php84
│ CORE_RL_*.dll # 追加
│ FILTER_analyze_.dll # 追加
│ IM_MOD_RL_*.dll # 追加
│ php.exe
│ php.ini
│
├─dev
├─ext
│ php_gettext.dll
│ php_gmp.dll
│ php_imagick.dll # 追加
│ php_intl.dll
│ php_ldap.dll
│
├─extras
└─lib
(一部省略)
Discussion