画像処理

【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

表示された内容を見て、次の点を確認します。

PHPバージョン: 8.1.7
スレッドセーフかどうか(ZTS ならスレッドセーフ) : ZTS
x64とx86のどちらか: x64

PHPを複数インストールしていて訳が分からなくなっているときは、ブラウザで次のURLにアクセスして確認します。

http://localhost/dashboard/phpinfo.php(規定のままの時)

Architecture、Thread Safetyを確認

上の図の赤丸を確認します。
Thread Safetyenabledなら、スレッドセーフです。

 

imagickのダウンロード

PECLのimagickページを開きます。

最新版のDLLをクリックして、Windows版のダウンロードページを開きます。

最新版のDLLをクリック

DLL Listから、PHPに合うものをダウンロードします。

リスト内のリンクは、PHPのバージョン確認で調べた内容がそのまま並んでいます。

僕の環境なら 8.1 Thread Safe (TS) x64 です。
該当するリンクをクリックすると、ダウンロードが始まります。

ここにはPHP7.4より前のバージョンがありませんね。
古いバージョンが必要なときは、imagickのバージョンを遡って探してください。
※バージョンによってはImageMagick本体が必要になるかもしれません

 

imagickのインストール

ダウンロードが完了したら、適当なフォルダに解凍します。
dllの検索は環境変数のPATHで行われるので、解凍先のフォルダにパスを通します。

パスの通し方は、次のページを読んでみてください。
Windows10で環境変数を追加・変更する方法
Window11は所持していないのでわかりません…

次に解凍したフォルダ内で php_imagick.dll を探します。
そして、拡張モジュールのフォルダにコピーします。
※デフォルトでは、XAMPPフォルダ\php\ext

次に php.ini に次のように記述します。

extension=imagick

PHPの7.2より前は拡張子を含めたファイル名を記述していましたが、7.2以降は上記のような書き方になりました。

 

XAMPPの再起動

XAMPPコントロールパネルでApache等を停止させた後、XAMPPコントロールパネルを終了します。
再度XAMPPコントロールパネルを起動して、Apache等を開始させます。

XAMPPコントロールパネルを終了しないと、変更したPATHが反映されないようです。

 

インストールの確認

コマンドプロンプトで、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

書いた人(管理人):けーちゃん

スポンサーリンク

記事の内容について

null

こんにちはけーちゃんです。
説明するのって難しいですね。

「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。

裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。

掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。

ご意見、ご指摘はこちら。
https://note.affi-sapo-sv.com/info.php

 

このサイトは、リンクフリーです。大歓迎です。