Log in

SNS サイトを作ってみた - PHP(Windows)で ImageMagick を使う

目次へ戻る

ImageMagick というのは画像ファイルの変換や加工を行うことが出来るツールです。これ自体は CUI のツールですが、いろいろな言語から呼び出すライブラリとしても使えます。PHP から ImageMagick を呼び出すためのエクステンションが imagick です。
PHP から ImageMagick を使いたいという事情があったのでここで入れておきます。(もちろん、必要ない場合は入れる必要なし)

CentOS 上の PHP の場合は CentOS でサーバー構築 - PHP と ImageMagick に書いたように yum と pecl で入れることができます。
しかし、Windows ではこんなに簡単に入れることはできないようです。が、いろいろ探していたら↓の方が Windows 用の ImageMagick と imagick をセットにしてくれたものを用意していてくれました。
Mikko’s blog: 「New builds for PHP 5.4 and PHP 5.3
こちらより imagick-php54-php53.tgz をダウンロードし、解凍します。PHP 5.3用と 5.4用の imagick、それと ImageMagick のバイナリが入っています。
なお、PHP のバージョンはコマンドプロンプトで c:\xampp\php の

php -v

とすればわかります。

まず、php_imagick_ts.dll を PHP のエクステンションのディレクトリにコピーします。
(php_imagick_nts.dll はノンスレッドセーフ版、php_imagick_ts.dll はスレッドセーフ版です)
(PHP のエクステンションのディレクトリは C:\xampp\php\php.ini に書かれています。デフォルトだと c:\xampp\php\ext です)

このエクステンションを有効にするために c:\xampp\php\php.ini の extension=.... がいろいろ書いてあるところを探し、そこの末尾に

extension=php_imagick_ts.dll

を追加します。

続いて、ImageMagick-6.8.0-vc9 の中身をパスの通ったところにコピーします。パスの通ったところとは、コマンドプロンプトで path とやって表示されるところです。
私は C:\Program Files (x86)\ImageMagick にコピーし、コントロールパネルの「システムの詳細設定」の「環境変数」の「システム環境変数」の「Path」に C:\Program Files (x86)\ImageMagick を追加しました。

一通り済んだら Apache を再起動します。

これで ImageMagick + imagick が使えるようになったはずです。
コマンドプロンプトで

php -i

としてその中に imagick が enable だと書いてあれば OK です。
もしくは phpinfo() でもわかります。

目次へ戻る