2007年7月12日木曜日

Windows2003のIISでPHPを動かす

 Windows Server 2003のIISでPHPを動かすときの初期設定のメモ。PHPマニュアルに書いてあることを全部やる必要はないようだ。

  1. Webサービス拡張にPHPを追加する。
    IIS 6 (2003 Server) の場合は IIS マネージャを開き、「Web サービス拡張」に 移動し、「新しい Web サービス拡張を追加」を選択し、たとえば「PHP」などと 拡張名を入力し、「追加」ボタンを押して ISAPI ファイル (php4isapi.dll または php5isapi.dll) あるいは CGI (php.exe または php-cgi.exe) を選択し、「拡張の状態を許可済みに設定する」をチェックして「OK」ボタンを クリックします。
  2. 既定のWebサイトなどのプロパティで、マッピングを追加する。
    指定するexeはphp.exeで良さそう(?)
    「構成」ボタンをクリックし、「マッピング」タブを選択します。 「追加」をクリックし、実行可能ファイルに適切な CGI ファイルを指定します。 たとえば PHP 5 では C:\php\php-cgi.exe となります。 「拡張子」に .php を指定し、「動詞」は空白のまま、 「スクリプトエンジン」チェックボックスをチェックしてください。 そして、「OK」ボタンを何度かクリックしてください。
  3. ここまではIISの再起動は不要。
    また、既定のWebサイトのISAPIフィルタについて言及している説明が多いが、Windows Server 2003ではWebサービス拡張の設定をしているのでISAPIフィルタの設定は不要みたい。
  4. php.iniをC:/Windowsへ移動する。ここでIISの再起動が必要。php.iniを変更した場合もIISの再起動をするまで反映されない。
    また、C:/Windowsにphp.iniが無い場合、デフォルト設定(php.ini-recommendedかな?)の動きをするのが紛らわしい。その場合、phpinfo()での"Loaded Configuration File"が"(none)"になる。
  5. phpフォルダ等に対しての権限設定変更は不要みたい。
 意外とあっさり動くもんだ。

関連記事:
 PHP.iniでのセキュリティ対策
 Apache2.2 on Windows 初期設定
 PHPの日付操作はDateTimeが簡単
 PHPアプリをWindowsサービスとして動かす
 regsvr32でCOMを登録

0 件のコメント:

ブログ アーカイブ

tags