WindowsでGDライブラリを簡単に使う

Copyright(c) 2002-4 Coop!(コープ).
http://www.ecoop.net/coop/

 GDライブラリとはPHP用の強力な画像処理関数を提供するバイナリライブラリです。ここではこのGDライブラリをWindows環境(バイナリパッケージ)で使えるようにするための方法を紹介します。

 PHP4の公式リファレンスには「イメージを作成・操作する機能を使うにはイメージ関数のGDライブラリとともにPHPをコンパイルする必要があります」のように書かれていて、Windowsのバイナリパッケージのデフォルトではphpinfo()で作成される仕様ページを見てもGDが一緒にコンパイルされている様子はありません。多くのWindowsユーザーはここで挫折しているのではないでしょうか。

 英語のわかる方はさらにPHPの公式サイトからGDライブラリ配布サイトへとび、GDのソースをダウンロードするところまでこぎつけるかもしれません。ですがソースなんてどうすればいいかわからない、コンパイルの仕方がわからない、そもそもコンパイルって何?という方はWindowsユーザーの中にはたくさんいます。また、困った事にそのままGCCでコンパイルしても頻繁にエラーがでてしまい、障壁の高さに涙したプログラマーの方もおられるでしょう。

 このGDライブラリなるもの、便利そうなのに使えないとは困ったものだ…と思いきや、実はPHPのWindows用バイナリパッケージには最初から拡張ファイルディレクトリ(extensions)にdllとして作成されたGDライブラリが存在するんです。このDLLをPHPで利用するにはphp.iniを編集しなければなりません。

 まず、php.iniをテキストエディタで開きます。Dynamic Extensionsの説明部分…


;If you wish to have an extension loaded automatically, use the following 
;syntax:

から始まる、;でコメントアウトされた部分の下にWindows Extensionsとありますが、そこにコメントアウトで羅列されたextensions=php_*.dllの中のphp_gd.dllをphp_gd2.dllに修正し、コメント開始文字であるセミコロン";"をはずします。ここでgd2に修正するのはextensionsディレクトリに入っているdllファイルの名前がphp_gd2.dllという名前の場合です。名前が違う場合は各自対応してください。

 次に、php.iniのFile Uploadsの項の少し上にある、


extension_dir = 

というパラメータを探してください。見つけたらこれを、


extension_dir = c:/php/extensions/

のように、phpをインストールしたディレクトリの下にあるextensionsへのパスを通します。例はc:/phpにインストールした場合です。

 これでもうGDライブラリが使えるようになっています。もしもこの直後にPHPスクリプトが全く動作しなくなったなら、php.iniに問題がある証拠です。正しいDLLファイル名を記述したか、DLLファイルを格納しているextensionsディレクトリへのパスを間違えていないかを確認してください。それでもエラーが続く場合は初期化状態のphp.iniファイルであるphp.ini-distファイルを使ってやり直してください。


Copyright(c) 2002-4 Coop!(コープ).
http://www.ecoop.net/coop/