#お知らせ
本エントリーは 2017'02/14 に 豊崎貴美が自ブログ xider.org に投稿したエントリー「Windows7のXAMPPにImageMagickをインストールする方法」をQiita用にリレイアウト、再編集を行い投稿する物です。
#きっかけ
最近は仕事でxamppの設定をし、その上にWordPressをインストールして本番用の様々な動作試験を行っている貴美です。
この動作試験の中でWordPressと言うよりはphpでpdfを扱う必要が出てきたんですよね。
アップロードした物をダウンロードしてと単純にファイルとして扱うだけならさしたる問題もないんですが、それを表示させようとしたりする場合は"ImageMagick"ってのが良いらしい。
そんな便利な"ImageMagick"なんですが、Windowsでのインストールはとても大変でした。
だって、正確(それを言ったらこれも)な日本語のインストールドキュメントが私が探した限りでは存在しない。一応、いろいろな方がBlogに書いるんだけど、ありがちの「情報が古くて役に立たない」という状況。
そんなわけで、私が現状のおそらく一番正確(?)且つ断片的ではないインストールマニュアルを書いてみようかな、なんて思い立った次第です。
#事前準備
"ImageMagick"をインストールしようとしているシステムで
<?php phpinfo(); ?>
辺りを実行してApacheとphpが正しく動作している事を確認。それ以外は動いてなくても構いません。Webでは動かさないという人は単純に【 php△-i 】でも問題ないはずです。
続けて前述に実行したシステムから必要となる各バージョンを確認します。確認するのは次の4点の各値。ちなみに私の環境だとした箇条書きの赤文字がそれになります。
- PHP Version:7.0.9
- Compiler Version:MSVC14 (Visual C++ 2015)
- Architecture:x86
- Thread Safety:Enable
さて、それではコアファイルをダウンロードしていきます。この先に調べたバージョンがキモとなったりするので間違えないようにしましょう。
#アプリケーションのダウンロード
ImageMagickを動かすために必要となるアプリケーションは合計4つ、それぞれ64bit版もあるけど、XAMPP自体は32bitだしApacheとかも32bit版だから基本的には32bit版を導入。
##Visual c++ 11 runtime
MicrosoftのC++再配布キットです。Apacheが"VC11"なら[ C++ 11 ]を、"VC14"なら[ C++ 14 ]をダウンロードしてインストール。ちなみに私の環境ではなんかエラーが出たんだけどたぶんどっかでインストールしていたのかも。
##GhostScript
pdf形式のファイル作成に使用。
pdfで有名な"Adobe Acrobat"ですらこれを裏で動かしてpdfファイルを作っているんですよ? 基本的に 公式サイトのダウンロードページ から"Architecture"がx86なら32bit版を、x64なら64bit版をダウンロードして管理者権限で実行、インストールフォルダは特殊文字を含まない[ D:\xampp\gs\ ]とする。
##imageMagick
次はコアである"ImageMagick"のインストール。位置づけとしてはphpのモジュールバイナリ類配布サイト、で良いのかな?
http://windows.php.net/downloads/pecl/deps/ にアクセスしてお望みの[ ImageMagick-6.9.3-7-vc1?-x??.zip ]をダウンロードする。
ここで注意するのは"Compiler Version"が[ MSVC11 ]ならファイル名に[ VC11 ]を含む方、[ MSVC14 ]ならファイル名に[ VC14 ]を含む、該当bitをダウンロードすること。あとはzipで圧縮されてるだけなので展開し[ D:\xampp\ImageMagick\ ]フォルダの中に全てコピーすれば完了。
##imagick
今度は"imagick"のダウンロードとインストール。
http://windows.php.net/downloads/pecl/releases/imagick/からお望みのバージョン番号フォルダ(この文章書いている時点では"3.4.3")にアクセスし、その中からお望みのファイルをダウンロードしてくる。
ここでも注意が必要でダウンロードするファイル名に"PHP Version"、"Compiler Version"、"Architecture"、"Thread Safety"の4つが含まれていて、これが一致する奴でないと正常に動作しないと言うこと。
例えばファイル名が"php_imagick-3.4.3-7.0-ts-vc14-x86.zip"なら"PHP Version"は[ 7.0.n用 ]で、"Compiler Version"は[ VC14 ]、"Architecture"は[ 32bit ]、"Thread Safety"は[ Enable ]。
"php_imagick-3.4.3-5.7-nts-vc11-x64.zip"なら"PHP Version"は[ 5.7.n用 ]で、"Compiler Version"は[ VC11 ]、"Architecture"は[ 64bit ]、"Thread Safety"は[ Disable ]となる。
インストール事態は簡単。
zipを展開するとフォルダ内に"php_imagick.dll"というファイルがあると思うのでこれをphpの[ ext ]ディレクトリにコピー、それと[ CORE_RL_ ]で始まるファイル全部を[ D:\xampp\ImageMagick\bin\ ]にコピー(問答無用で同一ファイルは上書き)する。
最後にphp.iniファイルへ"Dynamic Extensions"として[ extension=php_imagick.dll ]を記載。
#環境変数の設定
ここで言う環境変数とはWindowsの環境変数の事。
[ Path ]にphpフォルダ、GhostScriptフォルダ、ImageMagickフォルダをそれぞれ記述したらWindowsを再起動して再びphpinfo()辺りを実行すれば下に載せたキャプチャ画像のようになると思います。
あとは実際にアプリケーションから扱えるか試してみましょう。
#様子がおかしかったら
ちなみに"imagick"自体が表示されなかったらextensionとして読み込まれていないか、extフォルダにコピーしたVCが違う。
表示はされてるんだけど"Image Support Format"が空だったら[ CORE_RL_ ]で始まるファイルのバージョンミス。あとは環境変数あたりを疑ってみましょう。