PHP マニュアル
前のページ | 第 6章Windows システムへのインストール | 次のページ

# マニュアルインストール

ここからは、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 とで異なり、以下のようになります。

例 6-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
       |
       |-...

例 6-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` 環境変数に登録する方法の３つの選択肢があります。メンテナンスを考慮すると、 ３番目の環境変数に登録する方法をとるべきでしょう。こうすれば、将来の 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 は、設定ファイル項第9章 の節で述べられている場所から `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 の場合

- PHP の起動時に、必要な拡張モジュールがロードされるように設定します。セットアップの方法や、 ビルトイン済みのモジュールについては Windows 用拡張モジュール のセクションを 参照してください。PHP の新規インストールの場合は、まず PHP が拡張モジュールなしで正しく動作することを 確認してから、php.ini を変更して拡張モジュールを有効にするほうが賢明です。

- PWS と IIS においては、browscap を 次のように指定することができます。 `c:\windows\system\inetsrv\browscap.ini` (Windows 9x/Me の場合)、 `c:\winnt\system32\inetsrv\browscap.ini` (NT/2000 の場合)、 `c:\windows\system32\inetsrv\browscap.ini` (XP の場合)。 `browscap.ini` の編集については、 FAQ を参照してください。

以上で、Windows への PHP のインストールが完了しました。ついで、 使用する WEB サーバ にあわせて、PHP を利用可能とするための設定を行います。 目次から使用する WEB サーバを選択し、該当するセクションを参照してください。

前のページ | ホーム | 次のページ
Windows インストーラ (PHP 5.2 以降) | 上に戻る | ActiveScript