【XAMPP】PHPのimagickを本体(ImageMagick)無しでインストールする方法
更新日:2023/08/25
XAMPPのPHP拡張モジュールのimagickを入れようと思ったのですが、ネットの情報が少し古いようで現状と相違点があり少し苦労しました。
情報ではImageMagick本体もインストールするように書いてありましたが、必要なさそうです。
本体とPHP版の関係
ImageMagick本体は、コマンドラインから実行可能なツールを指しています。
このツールの主要な機能は数多くのdllで構成されています。
PHPのimagickも、これらのdll群を呼び出します。
そのためPHPのimagickを動作させるためにImageMagick本体をインストールしていたようです。
しかし現行のPHPのimagickにdll群が同梱されているため(前から入っていたかも?)、本体は必要ありません。
※完全に必要ないかどうかは、未確認です。
PHPのバージョン確認
まずはXAMPPで動作しているPHPのバージョンを確認します。
コマンドプロンプトを開いて、php -vです。
>php -v PHP 8.1.7 (cli) (built: Jun 7 2022 21:45:53) (ZTS Visual C++ 2019 x64) Copyright (c) The PHP Group Zend Engine v4.1.7, Copyright (c) Zend Technologies
表示された内容を見て、次の点を確認します。
スレッドセーフかどうか(ZTS ならスレッドセーフ) : ZTS
x64とx86のどちらか: x64
PHPを複数インストールしていて訳が分からなくなっているときは、ブラウザで次のURLにアクセスして確認します。
http://localhost/dashboard/phpinfo.php(規定のままの時)
上の図の赤丸を確認します。
※Thread Safetyがenabledなら、スレッドセーフです。
imagickのダウンロード
PECLのimagickページを開きます。
最新版のDLLをクリックして、Windows版のダウンロードページを開きます。
DLL Listから、PHPに合うものをダウンロードします。
リスト内のリンクは、PHPのバージョン確認で調べた内容がそのまま並んでいます。
僕の環境なら 8.1 Thread Safe (TS) x64 です。
該当するリンクをクリックすると、ダウンロードが始まります。
ここにはPHP7.4より前のバージョンがありませんね。
古いバージョンが必要なときは、imagickのバージョンを遡って探してください。
※バージョンによってはImageMagick本体が必要になるかもしれません
imagickのインストール
ダウンロードが完了したら、適当なフォルダに解凍します。
dllの検索は環境変数のPATHで行われるので、解凍先のフォルダにパスを通します。
次に解凍したフォルダ内で php_imagick.dll を探します。
そして、拡張モジュールのフォルダにコピーします。
※デフォルトでは、XAMPPフォルダ\php\ext
次に php.ini に次のように記述します。
extension=imagick
PHPの7.2より前は拡張子を含めたファイル名を記述していましたが、7.2以降は上記のような書き方になりました。
XAMPPの再起動
XAMPPコントロールパネルでApache等を停止させた後、XAMPPコントロールパネルを終了します。
再度XAMPPコントロールパネルを起動して、Apache等を開始させます。
インストールの確認
コマンドプロンプトで、php -i | find "Imagick" と入力します。
>php -i | find "Imagick"
imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
Imagick compiled with ImageMagick version => ImageMagick 7.1.0-18 Q16 x64 2021-12-14 https://imagemagick.org
Imagick using ImageMagick library version => ImageMagick 7.1.0-18 Q16 x64 2021-12-14 https://imagemagick.org
上記のような結果になれば、インストールできています。
※実際には、この確認はphp.ini記述時点で可能です。
または、ブラウザからphpinfo(デフォルト:http://localhost/dashboard/phpinfo.php)にアクセスして、同様の項目が表示されているかどうかを確認します。
これで、PHPでImagickクラスが使用できるようになります。
更新日:2023/08/25
関連記事
スポンサーリンク
記事の内容について
こんにちはけーちゃんです。
説明するのって難しいですね。
「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。
裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。
掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。
ご意見、ご指摘はこちら。
https://note.affi-sapo-sv.com/info.php
このサイトは、リンクフリーです。大歓迎です。