モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

WindowsでxamppのPHPにImageMagickをインストール

CakePHPでPDFファイルを画像に変換するために、ImageMagickをインストールする必要がありました。

で、いろんなエントリーでWindowsのxampp環境にImageMagickをインストールするのは結構大変、と書いてあったのですが、確かにわかりにくかったのでメモ。


こちらのエントリーが一番簡潔にわかりやすくまとまっていました。

XAMPP環境でImageMagickをインストール | Styler

下記説明もほぼ同じなのですが、Ghostscriptを日本語版にしています。

VC++2008ランタイムのインストール

32bit Windowsの場合

Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ(x86インストーラ
http://www.microsoft.com/ja-jp/download/details.aspx?id=5582


64bit Windowsの場合

Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ (x64) インストーラ
http://www.microsoft.com/ja-jp/download/details.aspx?id=2092


インストーラでインストールします。

Ghostscriptのインストール

Ghostscript 9.07 + GSview 5.0 の日本語版
Ghostscript 9.07 (日本語版)インストーラ

ftp://akagi.ms.u-tokyo.ac.jp/pub/TeX/win32-gs/gs907w32full-gpl.exe


インストーラでインストールします。
PDFやPostscriptを扱わない場合には必要ありません。


※注意!
64bit Windowsの場合にSourceforgeなどからgs907w64.exeなど、64bit用のインストーラを持ってきてインストールすると、PHPからのコンバートはうまく動かないようです。
なので、64bit Windowsの場合でもPHPから使う場合には32bit用のものをインストールしましょう。これでも動きます。

(参考)
ImageMagick • View topic - PDF to image conversion not working in php
http://www.multipole.org/discourse-server/viewtopic.php?f=10&t=22174

PHPImageMagickのdllを組み込み

Imagick Windows Builds « Mikko’s blog

公式サイトではなく一般のブログなんですが、この人がImageMagickのPHP5.3/5.4用Windowsバイナリの配布をしてくれています。他のエントリーでもみなこちらのバイナリの利用をする方法が紹介されています。
ここから必要なDLLがまとめられている下記 imagick-php54-php53.tgz をダウンロードします。


ImageMagick PHP5.4/5.3 Windows binary
http://valokuva.org/~mikko/imagick-php54-php53.tgz

dllのコピー

imagick-php54-php53.tgz を展開します。

ImageMagick-6.8.0-vc9はフォルダごと、あとPHPのバージョンに合わせて、例えば自分のxamppはPHP-5.4なので「php54」フォルダの中の

  • php_imagick_ts.dll

phpの拡張フォルダ

c:\xampp\php\ext

にコピーします。

php.iniの修正

c:\xampp\php\php.ini

のDynamic Extensions設定「extensions=…」が並んでいる最後あたりにImageMagickのdll

extension=php_imagick_ts.dll

を読み込む設定を追加します。

パスを通す
  • 「コントロールパネル」→「システムとセキュリティ」→「システム」→「システムの詳細設定」→「環境変数
  • 「システム環境変数」→「Path」→「編集」

c:\xampp\php\ext\ImageMagick-6.8.0-vc9;

をpathの最後に追加します。

組み込み確認

VC++2008ランタイムを組み込んだらPC自体の再起動が必要で、ImageMagickのdll組み込んだらapacheの再起動も必要です。
なので一旦PC自体を再起動しておくのがよいです。


xamppのphpinfoのページ

http://localhost/xampp/phpinfo.php

を開いて

imagick

の項目があるかを確認します。


(関連)
PHPImageMagickを使う時のトラブルと解決方法 - モーグルとカバとパウダーの日記
http://d.hatena.ne.jp/stealthinu/20130708/p1