スキルチャージプログラム: IIS FastCGI による PHP の導入

投稿者: Tomotoshi Sugishita 2009年5月12日 1:52

今度は、FastCGI にて PHP を利用できるようにしてみたいと思います。

PHPについては、以前のIISでも ISAPI Module などによって動作させることは可能でしたが、今回の IIS FastCGI Module を利用することでより高パフォーマンスで動作させることができますので、是非導入したいところです。

IIS6やVista環境でもIIS FastCGIは動作可能だったかと思いますが、私の環境ではなぜか今まで無事動いたことはなかったので、リベンジの意味も込めて再度・・・。

すでに、役割の追加で CGI を選択し、IIS への FastCGI の導入は完了しているので、ここでは PHP が動作するまでの過程をご紹介したいと思います。

まずは、PHP のバイナリを入手します。PHP のサイト よりダウンロードしてください。
ダウンロードページに、Windows Binaries ということで、いくつかリストされていますが、今回は最新版の PHP 5.2.9-2 zip package を利用したいと思います。
実は、このスキルチャージプログラムで送付されてきた書籍にあるように、最初は Installer 版 (MSI) を試したのですが、Extension なしの状態では動作するものの、Extensionをインストーラで選択してから実行したところ、まともに動作しなくなったということと、インストーラ版の場合、Extension まわりの DLL がインストーラで選択したものしかインストールされないため、後で Extension の無効化/有効化が面倒だという点で、ZIPパッケージをお勧めします。
書籍の説明があまりにも不十分なところにムカつきつつ、「まぁ、IIS の書籍なので、PHP 導入に関して、詳しく書いてもなぁ」なんて変な納得もしつつ・・・。

では、PHPの導入編。

まずはダウンロードしてきたZIPパッケージを任意のフォルダに展開します。私の場合は、Cドライブの直下に PHP という名前のフォルダに展開しました。
次に、展開された PHP フォルダ内に、php.ini-dist というファイルがあるので、こちらをリネームもしくはコピーして php.ini というファイルを作成します。
この php.ini をメモ帳などで開き、以下のエントリーを変更します。(行頭が;(セミコロン)でコメントアウトされている場合は、コメントインして有効化します)

[変更箇所]

  • cgi.force_redirect = 0
  • cgi.fix_pathinfo = 1
  • fastcgi.impersonate = 1
  • extension_dir = "./ext"

Extension を利用する場合は、コメントアウトされている、extension=php_gd2.dll などの行より、必要な Extension のコメントを外して有効化してください。
使用頻度の高いものでは、php_gd2.dll 、php_mbstring.dll 、php_mssql.dll 、php_mysql.dll あたりでしょうか。

php.ini ファイルの設定が完了したら、IIS のハンドラマッピングを行って、PHP という拡張子と php の実行ファイルを関連付けます。

IIS マネージャを開き、コンピュータのルートをクリックすると機能ビューに、ハンドラマッピングのアイコンがあると思いますので、これをダブルクリックで開きます。

ハンドラ マッピングが開いたら、右の操作パネルより、 「モジュールマップの追加」をクリック。

以下のように、拡張子 PHP に対し実行可能ファイル php-cgi.exe への関連付けを入力し、OKボタンを押します。

以下のダイアログが表示されたら、OKボタンを押します。

以上で、PHP が FastCGI アプリケーションとして動作させるための準備が整いましたので、次に動作確認を行います。

適当な仮想フォルダを作成し、以下のような PHP ファイルを置いてみましょう。

ファイル名: info.php

<?php phpinfo(); ?>

ファイルを置いたら、実行してみましょう。私は、仮想フォルダ /php を設定し、実行してみました。

このように PHP の情報が表示されたら、とりあえずはOKです。

ざっと下のほうを確認すると、php.ini を編集して組み込んだ、mbstring や、mssql などの Extension も利用可能となっていることがここでわかります。

ここまではありきたりなので、時間を見つけて一般的な PHP アプリケーションの動作確認なんかも行ってみたいと思いますが、設定編は以上ということで。

タグ: , , , , ,

Windows Server

コメントを書く




biuquote
  • コメント
  • プレビュー
Loading



杉下 朋年

Tomotoshi Sugishita
Tomotoshi Sugishita
< D&UNITE Co., Ltd. >

Microsoft MVP
Microsoft MVP for Development Platforms
- ASP/ASP.NET Jul.2009 - Jun.2011
Microsoft MVP for Development Tools
- Visual Basic Jul. 2004 - Jun. 2009

 

カレンダー

<<  7月 2010  >>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

投稿一覧をカレンダーで表示