ここからは、Microsoft Windows に手動で PHP をインストールし、Web サーバを 設定する手順について説明します。
始めに、» http://www.php.net/downloads.php のダウンロードページから zip バイナリアーカイブをダウンロードしてください。
公式に配布されている Microsoft Window 向けの PHP インストーラを含め 多数のオールインワンのインストールキットが存在しますが、 まずは、幾ばくかの時間を割いて独力で PHP をセットアップしてみることをお勧めします。 そうすることで、システムをより理解することができ、PHP 拡張モジュールの インストールも必要に応じて容易にできるようになるでしょう。
注意: 前バージョンから PHP をアップグレードする場合
古いバージョンのマニュアルでは、ini ファイルおよび DLL ファイルをシステムフォルダ (C:\WINDOWS など) へ移動させることを推奨していました。この移動により、インストール手順は簡単になりますが、 アップグレードは面倒になっていました。 新しいバージョンのインストールにあたっては、これら移動させたファイル(システムフォルダ内の php.ini や PHP 関連の DLLなど)をすべて削除することを推奨します。 この時システムを壊さないようにするために、バックアップを確実に行ってください。 古い php.ini は新しい PHP を設定するのに有用です。 本解説で推奨する PHP のインストール方法は、以下の解説に示すとおり、すべての PHP 関連の ファイルをひとつのフォルダにまとめ、システムパスにそのフォルダを登録する方法です。
注意: MDAC 要件
Windows 98/NT4 を使用している場合には、 プラットフォームに合う Microsoft Data Access Components (MDAC) の最新版を 入手してください。» http://msdn.microsoft.com/data/ からダウンロードできます。MDAC が必要な理由は、ODBC が Windows バイナリにビルトインされているためです。
各サーバ特有の設定を行う前に、以下に示すステップを完了させてください。
まず、配布ファイルを適当なフォルダに展開します。PHP 4 の場合は、C:\ がよいでしょう。zip パッケージは php-4.3.7-Win32 のようなフォルダ名で展開されます。 PHP 5 の場合は、PHP 4 のようにフォルダ内に展開されないので、C:\php 内で展開してください。 他の位置に展開することもできますが、空白を含むパス (例:c:\program files\php) にすることはお勧めできません。Web サーバによってはクラッシュを引き起こします。
展開されたフォルダの構造は、PHP 4 と PHP 5 とで異なり、以下のようになります。
例1 PHP 4 パッケージ構造
c:\php | +--cli | | | |-php.exe -- CLI 実行ファイル - コマンドラインでのスクリプト実行専用 | +--dlls -- 拡張モジュールの利用に必要な DLL | | | |-expat.dll | | | |-fdftk.dll | | | |-... | +--extensions -- PHP 拡張モジュールの DLL | | | |-php_bz2.dll | | | |-php_cpdf.dll | | | |-... | +--mibs -- SNMP 用サポートファイル | +--openssl -- Openssl 用サポートファイル | +--pdf-related -- PDF 用サポートファイル | +--sapi -- SAPI (server module support) DLL | | | |-php4apache.dll | | | |-php4apache2.dll | | | |-... | +--PEAR -- PEAR の初期コピー | | |-go-pear.bat -- PEAR セットアップ用スクリプト | |-... | |-php.exe -- CGI 実行ファイル | |-... | |-php.ini-dist -- デフォルトの php.ini 設定 | |-php.ini-recommended -- 推奨される php.ini 設定 | |-php4ts.dll -- コア PHP DLL | |-...
例2 PHP 5 パッケージ構造
c:\php | +--dev | | | |-php5ts.lib | +--ext -- PHP 拡張モジュールの DLL | | | |-php_bz2.dll | | | |-php_cpdf.dll | | | |-... | +--extras | | | +--mibs -- SNMP 用サポートファイル | | | +--openssl -- Openssl 用サポートファイル | | | +--pdf-related -- PDF 用サポートファイル | | | |-mime.magic | +--pear -- PEAR の初期コピー | | |-go-pear.bat -- PEAR セットアップ用スクリプト | |-fdftk.dll | |-... | |-php-cgi.exe -- CGI 実行ファイル | |-php-win.exe -- コマンドプロンプトを開かずにスクリプトを実行する | |-php.exe -- CLI 実行ファイル - コマンドラインでのスクリプト実行専用 | |-... | |-php.ini-dist -- デフォルトの php.ini 設定 | |-php.ini-recommended -- 推奨される php.ini 設定 | |-php5activescript.dll | |-php5apache.dll | |-php5apache2.dll | |-... | |-php5ts.dll -- コア PHP DLL | |-...
PHP 4 と PHP 5 とで、相違点もあり、共通点もあります。 双方とも、CGI 実行ファイル、CLI 実行ファイル、およびサーバモジュールがあります。しかし、フォルダや ファイル名が異なります。PHP 4 では、サーバモジュールは、 sapi フォルダ内にありますが、 PHP 5 ではそういったフォルダは無く、PHP を展開したフォルダのルートにあります。 PHP 5 の拡張モジュールが必要とする DLL も、別フォルダ内には納められていません。
注意: PHP 4 では、dll フォルダおよび sapi フォルダ内のすべてのファイルを メインのフォルダ(C:\php など)に 移動してください。
PHP 4 および PHP 5 で提供されているサーバモジュールは以下の通りです。
sapi/php4activescript.dll (php5activescript.dll) - ActiveScript エンジン。Windows アプリケーションに PHP を埋め込むことが可能
sapi/php4apache.dll (php5apache.dll) - Apache 1.3.x モジュール
sapi/php4apache2.dll (php5apache2.dll) - Apache 2.0.x モジュール
sapi/php5apache2_2.dll - Apache 2.2.x モジュール
sapi/php4isapi.dll (php5isapi.dll) - ISAPI モジュール。 IIS 4.0/PWS 4.0 以降を始とした ISAPI 互換サーバ用
sapi/php4nsapi.dll (php5nsapi.dll) - Sun/iPlanet/Netscape 用サーバモジュール
sapi/php4pi3web.dll (PHP 5 では提供なし) - Pi3Web 用サーバモジュール
サーバモジュールは、CGI バイナリと比べ、パフォーマンスが非常に高く、 機能も追加されています。CLI 版は、PHP をコマンドライン用のスクリプトとして 使うためのものです。CLI 版について詳しくは PHP をコマンドラインから使用するの章を参照してください。
SAPI モジュールは、バージョン 4.1 以降、顕著な改善が行われています。 一方、古いシステムにおいては、サーバエラーが発生したり、ASP 等のサーバモジュールが 落ちたりする可能性があります。
CGI バイナリ、CLI バイナリ、およびサーバモジュールのいずれも php4ts.dll (php5ts.dll) を必要とします。 PHP がこのファイルを見つけられるようにする必要があります。 探索順は、以下の通りです。
php.exe のコール元のフォルダ。SAPI モジュールを 使用している場合、WEB サーバのフォルダ (例、 C:\Program Files\Apache Group\Apache2\bin)
Windows の PATH 環境変数に登録されたフォルダ
php4ts.dll / php5ts.dll を有効に するには、[1] Windows のシステムフォルダにコピーする方法、 [2] WEB サーバのフォルダにコピーする方法、[3] PHP フォルダ (C:\php) を PATH 環境変数に登録する方法の3つの選択肢があります。メンテナンスを考慮すると、 3番目の環境変数に登録する方法をとるべきでしょう。こうすれば、将来の PHP の アップグレードが容易になります。PHP フォルダを環境変数に登録する方法に ついては、FAQ を参照して ください (また、コンピュータを再起動することを忘れないでください。 ログオフするだけでは不十分です)。
次のステップは、PHP の設定ファイル php.ini を正しく記述することです。 配布される zip ファイルには php.ini-dist と php.ini-recommended の二つの ini ファイルが含まれています。 パフォーマンスとセキュリティの観点から最適化された初期設定がなされているので、 php.ini-recommended の使用を推奨します。 php.ini-dist から多くの点で変更が行われています。 ini ファイルには詳しくコメントが書かれているので、注意深く読んでみると良いでしょう。 たとえば、display_errors や magic_quotes_gpc が off となっていたりします。 さらに、設定ファイルのセクションもよく読んで 各要素を自ら設定してみてください。 PHP は、デフォルトの ini ファイルの設定できちんと動作するとはいえ、 最高のセキュリティを達成したいならば、自ら手を動かして設定することが最善の方法です。 選んだ ini ファイルを、PHP がアクセスできるフォルダにコピーし、php.ini にリネームしてください。PHP は、設定ファイル の節で述べられている場所から php.ini を探します。
Apache 2 を使用する場合、PHPIniDir ディレクティブを使うのが最も簡単でしょう (Apache 2 へのインストール ページ参照。) 他の場合、PHPRC 環境変数を設定するのが良いでしょう。 詳しい方法については、こちらの FAQ エントリ で解説されています。
注意: Windows NT, 2000, XP または 2003 で NTFS を使用している場合、WEB サーバを 実行するユーザが、php.ini を読める権限があることを確認してください。
以下のステップは、必要に応じて行ってください。
php.ini ファイルを編集し、 doc_root に Web サーバーの ドキュメントルートを設定します(ただし、OmniHTTPd を使用する場合は編集しないこと。) 例えば、以下のように設定します。
doc_root = c:\inetpub // IIS/PWS の場合 doc_root = c:\apache\htdocs // Apache の場合
以上で、Windows への PHP のインストールが完了しました。ついで、 使用する WEB サーバ にあわせて、PHP を利用可能とするための設定を行います。 目次から使用する WEB サーバを選択し、該当するセクションを参照してください。