ソースからのビルド

ビルド手順を説明する前に、次の質問に答えておきましょう。 「なぜ、Windows 上でのビルド作業はこんなに面倒なのか?」 考えられる理由としては、二つあります。

  1. Windows では、まだ、ソースを自由に共有する大規模な開発者の コミュニティがそれほど多くありません。結果として、 そのような共同開発のサポートに必要なインフラを構築する作業が 行われていないからです。利用可能なユーティリティの大部分は、UNIX から 移植されたものです。そのような背景が影響しているとしても、驚くべきことではありません。

  2. 手順がほとんど「実行したら、忘れてしまう」形式で記述されているからです。 ですので、端末の前に座ったら、以下の手順をできるだけそのまま試して見てください。

要件

コンパイルとビルドにはマイクロソフトの開発環境が必要です。 Microsoft Visual C++ 6.0 が推奨です。ダウンロードしたファイルの解凍には 解凍ユーティリティ (例えば WinZip) が必要です。zip を解凍するユーティリティが 手元に無いのなら InfoZip から無料の バージョンを取得できます。

始める前に、ダウンロードしなければならないものがいくつかあります。

最後に、PHP 自体のソースが必要となります。最新の開発版を anonymous CVS から、または スナップショット、あるいは 最新のリリース版の ソース アーカイブを ダウンロードします。

ファイルの配置

必要なパッケージをすべてダウンロードしたら、 ファイルを適切な位置に展開しなければなりません。

上記の手順を行えば、ディレクトリ構造は以下のようになっているはずです。

+--c:\work
|  |
|  +--bindlib_w32
|  |  |
|  |  +--arpa
|  |  |
|  |  +--conf
|  |  |
|  |  +--...
|  |
|  +--php-4.x.x
|  |  |
|  |  +--build
|  |  |
|  |  +--...
|  |  |
|  |  +--win32
|  |  |
|  |  +--...
|  |
|  +--win32build
|  |  |
|  |  +--bin
|  |  |
|  |  +--include
|  |  |
|  |  +--lib

c:\usr\local\lib ディレクトリを作成します。 bison.simplec:\work\win32build\bin から c:\usr\local\lib にコピーします。

注意: Cygwin ユーザーは最後の手順は省略しても かまいません。適切にインストールされているCygwin環境は bison.simplebison.exe を持っています。

MVC ++ の設定

次のステップは MVC++ でコンパイルする準備です。 Microsoft Visual C++ を起動し、ディレクトリタブを選択します。 実行形式、include、ライブラリのファイルが順次変更されます。 以下のようになります。

resolv.lib のビルド

resolv.lib ライブラリをビルドしなければなりません。 デバッグシンボルを有効にするか (bindlib - Win32 Debug) 否か (bindlib - Win32 Release) を決定してください。 適切な設定をしたらビルドします。

この時点で、使用可能な resolv.libc:\work\bindlib_w32\Debug または Release サブディレクトリのどちらかに存在します。 このファイルを c:\work\win32build\lib ディレクトリの 同名のファイルに上書きコピーしてください。

コンパイル

まず始めは、標準的な CGI バージョンをビルドしてみると良いでしょう。

ここまでの手順で、サブディレクトリ c:\work\php-4.x.x.\Debug_TS または Release_TS に利用可能な php.exe が作成されているはずです。

main/config.win32.h ファイルを編集すると ビルドプロセスでの細かい設定を行えます。 例えば、php.ini のデフォルトの位置を変えたり、ビルトインの拡張モジュールや 拡張モジュールのデフォルトの位置を変えることができます。

次に、PHP をコマンドラインから使用する ための CLI バージョンを構築しましょう。 php4ts_cli - Win32 Debug_TS または php4ts_cli - Win32 Release_TS を選択すること以外は CGI バージョンのビルド手順と同様です。コンパイルが成功すると Release_TS\cli\ または Debug_TS\cli\ ディレクトリのどちらかに php.exe が作成されます。

注意: PEAR とその便利なコマンドラインインストーラを使用するには、 CLI-SAPI が必要です。PEAR とそのインストーラに関する詳細については PEAR のサイトをご覧ください。

Microsoft IIS 上で PHP アプリを実行するための SAPI モジュール (php4isapi.dll) をビルドするには、 アクティブコンフィグレーションを php4isapi-whatever-config にセットし、お望みの DLL をビルドしてください。