導入環境
* OS Windows XP Media Center Edition Ver.2002 SP3
* Apache/2.2.14 (Win32)
です。余談ですがMedia Center Editionなのに特に理由はありません(笑)。
なおApacheのインストールに関しては、さまざまなサイトがあるのでそちらを参照してください。
また、次に紹介するPHPのインストールの参考にしているサイトにもapacheインストール方法の記述がありますので参考にどうぞ。
まず、PHPのインストールを行います。
以下のサイトを参考に php-5.3.5-Win32-VC6-x86.zip をインストールします。
http://www.standpower.com/php_environment2.html
さらに、別件の為にphp.iniの設定に追加を行いました。
extensionの有効化
;extension=php_gd2.dll
↓
extension=php_gd2.dll
;extension=php_mbstring.dll
↓
extension=php_mbstring.dll
;extension=php_exif.dll ; Must be after mbstring as it depends on it
↓
extension=php_exif.dll ; Must be after mbstring as it depends on it
タイムゾーンの設定
;date.timezone =
↓
date.timezone = "Asia/Tokyo"
そしてapacheの再起動。
この段階で http://localhost/info.php にアクセスしてきちんと動作することを確認しておいてください。
目標であるImageMagickインストールに入ります。
以下のサイトを参考にしますが、いろいろ変更があります。
http://kyle-in-jp.blogspot.com/2008/04/windowsimagemagickphp.html
【】付きで書いてある番号は上記サイトの番号に対応させてあります。
【1.】のImageMagickのインストールです。
まず、 ImageMagick-6.6.8-1-Q16-windows-dll.exe を以下から取得します。
http://www.imagemagick.org/script/binary-releases.php?ImageMagick=qa8kehgo3k4hu158g1p0u9sc51#windows
インストーラの設定はインストールディレクトリ設定以外は全てデフォルトです。
以下のように設定しました。
C:\Program Files\ImageMagick-6.6.8-Q16
↓
C:\ImageMagick-6.6.8-Q16
【2.】Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ (x86)のインストールですが、下の方に
2009/05/04追記
「Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ」は「Microsoft Visual C++ 2008 Redistributable」でも動作する。
動作環境
Microsoft Windows 2003 Server SP2, Apache2.2.11, PHP5.2.9-2, ImageMagick6.5.2-0
とあり、既に2008がインストールされていたので行いませんでした。
ちなみにここにあります。
http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=ja
さらに2010バージョンもありますが、試していません。
http://www.microsoft.com/downloads/details.aspx?familyid=A7B7A05E-6DE6-4D3A-A423-37BF0912DB84&displaylang=ja
【3.】php_imagickのインストールですが、一番ハマった所です。
Mikko's blog には既にVC9版しかなく、VC6版がありません。
上記でPHPはVC6版を入れましたので、VC6版のDLLを得る必要があります。
このままPHP VC6 + DLL VC9で試してみましたが起動時にチェッカでエラーになりました。
もうひとつのパターンとしてPHPをVC9版にする、という手があり、試してみた所info.phpは正常動作しました。
ただし、VC6とVC9の差をよくわかってない自分が悪いのですが、IISにはVC9版、apacheにはVC6版を使うのが一般らしく不要なトラブルを防ぐためにもPHP VC6版を利用したい所でした。
ちなみに、VC9版ですがinfo.phpは動作したのですがテストコードを動かすとapacheごと落ちるという現象が出て、原因追及する前にVC9版の利用を諦めた、というのが実際の所です。
長々と書きましたが、方法としては記述のとおりなのですが使うDLLを以下のものにしました。
http://marijuana.xsrv.jp/modules/wordpress/?p=443
ページの下の方に『php_imagickはこちら』というリンクがあります。こちらをたどった先にあるphp_imagicをダウンロードしてください。
すると『php_imagic301-1.7z』というファイルが得られると思います。これは7z形式という、ちょっと珍しい圧縮形式なのでなんとかして伸長してください(笑)。私はlhazで伸長しました。
中には3つのDLLがありますので、【3.】のphp_imagick_dyn-Q16.dllの代わりに『php_imagick53-VC6.dll』を使います。php_imagick53-VC6.dllをC:\php\extディレクトリにコピーします。
【4.】php.iniに以下の設定を追加ですが、この手順のままだと以下のみを追加すればいいです。ちなみに追加場所はどこでもいいです。
extension=php_imagick53-VC6.dll
【5.】OSのシステム環境変数の設定です。設定方法はどこでも参考にしてください。
『MAGICK_HOME』に『C:\ImageMagick-6.6.8-Q16』を設定します。
なおユーザー環境変数とシステム環境変数の違いがわからないのであれば、システム環境変数にセットしておいた方が無難です。セキュリティポリシー等でセットできなければユーザー環境変数でも問題ないと思います。
【6.】で、Windowsの再起動です。どうして必要なのかわかりませんが、まぁやっておきましょう。
これで終了になります。
【7.】のテストコードをコピーし、2つの画像ファイルも同じディレクトリに入れると…動作すれば成功ですが、ファイルのパスをフルパスで指定しないと動作しませんでした。原因はわかりません。でもそれで動くので
お疲れさまでした。
少なくとも、私は疲れましたwww


