xampp(Windows)にImageMagick(imagick)をインスコしてPHPから使う

iPhone Screenshot Makerに新しく機能を追加しようとしてて、GDではちと厳しい処理が出てきた。調べるとGDと双璧をなすImageMagickならば一撃でいけそう。というわけでImageMagickをローカルにインスコすることに。

たしか数年前に一度試みて挫折した覚えあり。WindowsにImageMagickって一筋縄ではいかないんですよね。環境はXP HOME SP3とxampp1.6.4、PHP5.2.4。古い環境だけど色々イジっててバージョンアップ見送ってますハイ。

錯綜する情報

ググると多くの方がレポートしてくれてるんだけど、アッチらコッチらとページを行ったり来たりして試行錯誤してもダメでした。おそらく・・・私のように古いxamppという特殊な場合を除き、多くの環境ではスムースに事が運ぶのではと思います。

それで最終的に、elxsyというサイトの情報で成功しました。原因はPHPのモジュールにありました。
Installing ImageMagick on Windows and Using with PHP – Imagick « elxsy

全体の手順は、ImageMagickのインスコ→VC++のランタイムをインスコ→PHPにモジュール追加→Windows再起動なんですが、追加するPHPのモジュールがPHPのバージョンによって異なります。

ほとんどのサイトで

VC6 Windows binaries for imagick 2.3.0 | sk89q

のphp_imagick.dllを紹介しているのですが、

ここのはPHP 5.3.2以上のモジュールなので私の環境では動きませんでした。ちなみにTS(Thread Safe)も間違いなしです。

しかし付け加えるなら、新規にインスコしたxampp1.8.1、PHP5.4.7で試してもダメだったのが頭を抱える所で、PHPが新しすぎたか、あるいはOSの問題なのかもしれません。

結局elxsyにPHP5.2.xのモジュールを発見し、それでPHPからの呼び出しに成功しました。

手順

XP HOME SP3とxampp1.6.4、PHP5.2.4

  1. ImageMagickをWindowsにインストール。Q16のdllで。パスに”Program Files”等のスペースが入らないようC:直下で。オプションは全てデフォ。pathは必須。
    ImageMagick: Install from Binary Distribution
  2. VC++のランタイムをインストール。
    Visual C++ 2008 SP1 再頒布可能パッケージ (x86)
  3. PHPのモジュール PHP5.2と5.3系のモジュールはここ
    Installing ImageMagick on Windows and Using with PHP – Imagick « elxsy
    php/extに入れてphp.iniのextensionに追加。
  4. ImageMagickのパスとphp.iniの反映のため再起動。

 

 

広告