Imagemagickを使用するとphpからPDFを動的にjpeg変換しサムネイル表示したりできるようになる。
しかしながらxampp for windows環境にImagemagickをインストールするのはかなり難しい。Windows、ImageMagickその他使用するソフトのバージョンが揃わないと正常動作しないためである。
ネット上には各ソフトの詳細なバージョンの記載なき情報が氾濫しており、そのまま踏襲しても自分の環境には全く役立たない可能性がかなり高い。
当方で動作確認できたバージョンの組み合わせを示す。
ソフトウェア | バージョン |
windows | 8.1 |
Xampp | 5.6.3 (=phpのバージョン) |
Imagemagick | ImageMagick-6.7.7-5-Q16-windows-dll.exe |
GhostScript | gs907w32full-gpl.exe |
imagick | php_imagick-3.1.2-5.6-ts-vc11-x86.zip |
当方の環境ではImagemagickに関しては旧バージョン+MAGIC_HOMEの指定が必要という点がドツボであった。
導入作業手順は以下の通り。
- Imagemagickのインストール、設定
- GhostScriptのインストール、設定
- imagickのインストール、設定
- Windows、Apacheを再起動
- phpinfoにてImagickモジュールがロードされていることを確認できたら終了
以下、各手順の詳細および注意点を示す。
1.Imagemagickのインストール、設定
1-1. Imagemagickを「C:\Imagemagick」にインストールする
インストール先のフォルダはデフォルトの「C:\Program Files」以下ではなくスペースを含まないパスとした方が無難らしい。そこで上記では「C:ImageMagick」にインストールしている。
1-2. OSに環境変数「MAGIC_HOME」を作成し、C:\Imagemagick\modules\coderを設定する
MAGIC_HOMEという環境変数は最近のImagemagickでは不要になっているが上記バージョンでは設定が必要。
2. Ghostscriptのインストール、設定
インストールフォルダは「C:\gs」とする → OSのPATHを通す。
3.imagickのインストール、設定
imagickにも色々なバージョンがあるが選択のポイントは以下の通り。
- 自分の環境のPHPのバージョンに相当するものを用いる
- Thread Safe版を用いる
- 32bit版(x86の文字を含むもの)を用いる
imagick(php_imagick-3.1.2-5.6-ts-vc11-x86)を解凍ししかるべき場所にファイルをコピーする。
解凍されたファイル(dll)をphp/exeにコピーし、php.iniにその旨記述する。
extension=php_imagick.dll
コメント