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