by kusakari
16. 2月 2010 19:52
前回、PowerShell から IIS 7.5 のハンドラーマッピングを追加・変更・削除などを確認しました。
今回は、PHP の FastCGI の設定を、同じように PowerShell から設定してみます。
要するに、下図のような設定を PowerShell から実施するというだけです。

PHP FastCGIの設定は、下記のようなコマンドを実行します。
New-WebHandler -Name "FastCGI.PHP" -Path *.php -Verb * -Modules FastCgiModule -ScriptProcessor "c:\php\php-cgi.exe" -PSPath "iis:/sites/default web site"
※なお、ココでは「c:\php」フォルダに「php-cgi.exe」ファイルが存在する前提で、Default Web Site に対してFastCGIの設定を行っています。
■サンプル
下記のサンプルは、サイトの新規作成から、PHP FastCGI の設定、 phpinfo() での動作確認までを行います。
# サイトの作成
New-WebSite -Name LaboSite -Port 8080 -PhysicalPath "c:\Temp"
# PHP FastCGIの設定
New-WebHandler -Name "FastCGI.PHP" -Path *.php -Verb * -Modules FastCgiModule -ScriptProcessor "c:\php\php-cgi.exe" -PSPath "iis:/sites/labosite"
# info.phpという名前で、phpinfo()を出力
Out-File -FilePath c:\temp\info.php -InputObject "<?php phpinfo() ?>" -Encoding UTF8
# IEのCOMを作成して、info.phpファイルにアクセス
$ie = new-object -com InternetExplorer.Application
$ie.visible = $true
$ie.navigate("http://localhost:8080/info.php")
※「LaboSite」という名前の8080ポートをバインドしたサイトを新規に作成し、このサイトに対して、PHP FastCGI のモジュールマップの設定を行います。そして、「c:\php」フォルダに phpinfo() を表示するファイルを出力して、ブラウザからアクセスします。
なお、上記サンプルの例外処理や、PHPの基本的な初期設定については省略しております。
■結果

97b0531a-aaab-40e0-a772-f9629b7be233|0|.0
Category: IIS, PowerShell
Tags: