IIS6でPHPを動かす

以前にも似たような記事(IIS6.0でPHPが動かない件)を書いていますが、IIS6でPHP4.3.9を使う案件があったので改めてインストール方法を見直してみた。

はじめに

  1. PHP4.3.9.zipをダウンロード
  2. 解凍してC:\php\4.3.9に設置(この辺はお好きなディレクトリに・・・)
    ※ユーザ「Users」に読み取り権限がついていないと動作しませんでした。

php.iniの設定

文字コードの設定とか適当にお好みに設定。
ただ、一カ所ハマった点あり。フォームからファイルをアップロードできない。調べてみるとアップロードするファイルが一時的に保存される一時ディレクトリが上手く機能していない模様。「C:\php\4.3.9」内にそれようのディレクトリを作成してあげました。

  1. 「C:\php\4.3.9\upload」を作成し、インターネットゲストアカウントに「変更」の権限を付与。
  2. php.iniの「upload_tmp_dir」に「C:\php\4.3.9\upload」を指定。

環境変数の設定

以前はdllsとかphp.iniとかをWindowsのシステムフォルだにコピーしてましたが、ファイルを分散させるのに違和感があるので下記を設定。

  1. システム環境変数の既存変数「Path」に「C:\php\4.3.9」を追加。
  2. 新規でPHPRCという変数を作成し「C:\php\4.3.9」を設定。
  3. 環境変数を読み込ませるためここでいったんWindowsを再起動。

IIS6の設定

  1. IISマネージャ⇒規定のWebサイト⇒プロパティ⇒ホームディレクトリタブ
    実行アクセス許可⇒スクリプトおよび実行可能ファイル⇒構成⇒追加
    実行可能ファイル「C:\php\4.3.9\sapi\php4isapi.dll」
    拡張子「.php」
    ローカルパス
    C:\Inetpub\wwwroot
    ※このあたりの指定もお好みで。ただしPHPでローカルパスを指定するときに、この指定と食い違っていると不具合がでるので注意(大文字小文字は区別されます。ただし、¥と/は識別しない模様)。
  2. IISマネージャ⇒Webサービス拡張
    新しいWebサービス拡張を追加
    ファイルのパス「C:\php\4.3.9\sapi\php4isapi.dll」
    「拡張の状態を許可済みに設定する」にチェック
  3. IIS再起動。

で完了。
IIS7の場合はもっと簡単だったと記憶しています。これについてはまた後日。