Windows 2008 R2でIIS + PHPの稼働環境を構築してみます。
参考にしたサイトはこちら。
PHP on Windows ガイドライン (ドラフト)IISのインストール
サーバーマネージャーを起動し、左のツリーで[役割]を選択。
[役割の追加]ウィザードをクリックします。

ウィザードが開始されたら次へ。

サーバーの役割の選択画面で、[Webサーバー(IIS)]にチェックをつけて次へ。

確認画面が表示されます。次へを選択。

[Webサーバー] - [アプリケーション開発] - [CGI]をチェックし、次へ。

インストール内容の確認画面が表示されます。
内容に誤りがなければ[インストール]を押して、インストールを実行します。

自動更新が有効になっていないという警告が出ましたが、IISのインストールは
完了しているようです。

ブラウザで、http://[サーバーのIP]/に移動し、こんな画面が表示されたら
IISのインストールは成功です。

PHPのダウンロードと設定
http://windows.php.net/download/ここから、VC9 x86 Non Thread Safeのzipファイル、
「php-5.3.8-nts-Win32-VC9-x86.zip」をダウンロードします。
ダウンロードしたファイルを、C:\php5というフォルダに解凍しました。
C:\php5\php.ini-productionというファイルをphp.iniという名前でコピーします。
コピーしたphp.iniをメモ帳で開き、以下の項目を設定します。
fastcgi.impersonate=1
cgi.fix_pathinfo=1
cgi.force_redirect=0 ;コメントをはずし、値を1から0に変更
error_log = c:/php5/logs/php_errors.log
date.timezone = Asia/Tokyo
open_basedir = "C:\inetpub\wwwroot"
extension_dir = "./ext"
※きちんと設定しておかないと、phpinfoの結果を表示しようとしても500エラーになります。
これで結構はまりました。編集が終わったら、php.iniを上書き保存します。
また、error_logの出力先に指定したディレクトリ「c:\php5\logs」を作成しておきました。
c:\php5へのアクセス権の設定
c:\php5フォルダを右クリックし、プロパティを表示。
セキュリティタブを選択し、[編集]ボタンをクリックします。

アクセス許可のダイアログが表示されるので、[追加]をクリック。

選択するオブジェクト名に「iis_iusrs」と入力して、[名前の確認]をクリック。

「コンピューター名\IIS_IUSRS」に変換されたら、正しく入力出来ています。
OKをクリックして、c:\php5へのアクセス権を与えます。

最終的には、以下のような表示になるはずです。

Microsoft Visual C++ 2008 再頒布可能パッケージ (x86)のインストール
phpはVisual C++ 2008でビルドされているため、ランタイムのインストールが必要でした。
Microsoft Visual C++ 2008 再頒布可能パッケージ (x86)ここからvcredist_x86.exeをダウンロードして、インストールしておきます。
なお、ランタイムをインストールせずにphpのプログラムを実行しようとすると、
イベントビューアーのWindowsログのアプリケーションに、こんなログが出力されます。
"C:\php5\php-cgi.exe" のアクティブ化コンテキストの生成に失敗しました。
従属アセンブリ Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8" が見つかりませんでした。
詳細な診断を行うには sxstrace.exe を実行してください。
IISへPHPランタイムの登録
スタートメニューから、[管理ツール] - [インターネットインフォメーションサービス]を選択します。

ツリーで[サイト] - [Default Web Site]を選び、[ハンドラーマッピング]を選択。
[機能を開く]をクリックします。

右側の[モジュールマップの追加]をクリックします。

要求パス *.php
モジュール FastCgiModule
実行可能ファイル C:\php5\php-cgi.exe
名前 phpFCgi
上記の内容を入力してOK

確認メッセージが表示されるので、はいを選択。

こんな感じで、phpFCgiが有効になりました。

動作確認
C:\inetpub\wwwrootにinfo.phpというファイルを作成しました。
内容は以下のとおり。
<?php phpinfo(); ?>
ブラウザで、http://[サーバーのIP]/info.phpに移動すると、以下のような表示になるはずです。

参考URL
PHP on Windows ガイドライン (ドラフト)
http://technet.microsoft.com/ja-jp/iis/gg535422IIS 7.0 で CGI や PHP を実行できるようにする
http://network.station.ez-net.jp/server/microsoft/windows/2008/iis7_php.asp- 関連記事
テーマ:サーバ - ジャンル:コンピュータ
- 2011/12/03(土) 15:59:21|
- 備忘録
-
| トラックバック:0
-
| コメント:4
- | 編集
マイクロソフトのドキュメントを参考にしてもできず、悩んでいたところ、こちらを参照してたちまち解決しました。
ありがとうございました。
- 2012/07/31(火) 11:55:43 |
- URL |
- 鈴木 #wpeDIbtE
- [ 編集 ]