Apache 2.0.x (Microsoft Windows 用)

このセクションでは、Microsoft Windows 上の Apache 2.0.x で PHP を使用する場合について説明します。 Apache 1.3 で PHP を使用する場合 については別に記載されています。

注意: まず始めに、マニュアルインストールの手順 をお読みください。

警告

Apache2 の MPM マルチスレッドモードを実運用環境で使用することは推奨されません。 代わりに prefork MPM または Apache1 を使用してください。その理由については、 マルチスレッド版 MPM の Apache2の FAQ エントリを参照してください。

Apache ドキュメンテーション を参照し、Apache 2.0.x の基本的な事項について理解しておくことを 強く推奨します。また、以下の解説を読む前に、Apache 2.0.x に関する Windows 固有の情報 についても参照すると良いでしょう。

PHP と Apache 2.0.x の互換性に関する注意: PHP の以下のバージョンは、Apache 2.0.x の最新版での動作が確認されています。

以上のバージョンの PHPは、Apache 2.0.40 以降と互換性があります。

Apache 2.0 SAPI のサポートは PHP 4.2.0 で開始されました。 PHP 4.2.3 は Apache 2.0.39 で動作します。PHP 4.2.3 を Apache の他のバージョンと 組み合わせて使用しないでください。 PHP 4.3.0 もしくはそれ以降のバージョンの PHP を 最新版の Apache2 と組み合わせて使用することが推奨されます。

ここで挙げたバージョンの PHP は、Apache 1.3.x でも動作します。

警告

Apache 2.0.x は Windows NT 4.0, Windows 2000 および Windows XP で動作するように設計されています。現時点では、Windows 9x のサポートは 不完全です。

最新の Apache 2.0.x と、対応する バージョンの PHP をダウンロードしてください。 マニュアルインストールの手順 を実施したら、引き続き以下のとおり PHP と Apache の設定を行ってください。

PHP を Windows 上の Apache 2.0.x で動作させるには、2種類の方法が あります。一つは、CGI バイナリを使用する方法、もう一つ は Apache モジュール DLL を使用する方法です。どちらの場合も httpd.conf を編集して Apache が PHP を利用できるようにした後、 Apache サーバを再起動する必要があります。

注意: Windows 上で Apache 設定ファイルにパスの値を追加する際、例えば c:\directory\file.ext に含まれるすべてのバックスラッシュは c:/directory/file.ext のように前向きスラッシュに変換する必要があります。 また、ディレクトリを表す際には最後にスラッシュをつけなければなりません。

CGI バイナリの使用

CGI 版のバイナリを使用する場合は、以下の行を Apache 設定ファイル httpd.conf へ追加してください。

例 6-5. Apache 2.0 で CGI 版の PHP を使用する場合の設定

ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php

# PHP 4 の場合
Action application/x-httpd-php "/php/php.exe"

# PHP 5 の場合
Action application/x-httpd-php "/php/php-cgi.exe"

警告

CGI としてセットアップすると、サーバは様々な攻撃を受ける可能性があります。 これらの攻撃からサーバを守る方法については、 CGI セキュリティ のセクションを参照してください。

Apache モジュールの使用

Apache 2.0 でモジュール版の PHP を使用するには、 以下の行を Apache 設定ファイル httpd.conf に追加してください。

例 6-6. Apache 2.0 でモジュール版の PHP を使用する場合の設定

# PHP 4 の場合
LoadModule php4_module "c:/php/php4apache2.dll"
# sapi ディレクトリから php4apache2.dll をコピーするのを忘れないこと!
AddType application/x-httpd-php .php

# PHP 5 の場合
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php

# php.ini の場所を設定
PHPIniDir "C:/php"

注意: c:/php/ は実際のパスにあわせて修正してください。 LoadModule ディレクティブでは必ず php4apache2.dll または php5apache2.dll を指定します。 php4apache.dll および php5apache.dll Apache 1.3.x 用です。

注意: コンテントネゴシエーションを使用する場合は、 関連の FAQ を参照してください。

警告

バージョンの異なる PHP の DLL ファイルを混ぜて使わないでください。 DLL と PHP 拡張モジュールは、同一バージョンのファイルだけが 組み合わせて使用可能です。