IISでphpを使う(2)
IIS上で php 動作させるときのメモその2。IIS側の設定。
ちなみにこれは私が動作させた時の設定方法であり、実は正しくない、或いはセキュリティ的にお奨めできない手順を含んでいる可能性があります。その点にはご留意下さいまし…。
今回はIIS側の設定についてちょちょちょっと。
ISAPIフィルタの追加
IISマネージャを開いて、phpを動作させるサイト(特に何も設定していないならば”既定のサイト”でしょう)のプロパティを開きます。”ISAPIフィルタ”タブを開き、”追加”からphpのフィルタを追加します。フィルタ名”php”、実行ファイルはphp導入フォルダ内の”php5isapi.dll”を指定します(dllのファイル名は今後のバージョンで変更になる可能性もありますが…とりあえず”hogeisapi.dll”でしょう、きっと。
拡張子マッピングの追加
フィルタ追加が完了したら、”ホームディレクトリ”タブに移動し、下部のアプリケーションの設定の実行アクセス許可を”スクリプトのみ”または”スクリプト及び実行可能ファイル”とし、”構成”ボタンからアプリケーションの構成を開き、”追加”をクリックします。
アプリケーションの拡張子マッピングの追加では、実行可能ファイルとして”phpインストールパス¥php5isapi.dll”、動詞として”GET,POST,HEAD,TRACE”を指定し、スクリプトエンジン・ファイルの存在を確認する、にチェックを入れ登録を行います。
ISAPI拡張の利用の許可
IIS上でphpのISAPI拡張利用を許可します。IISマネージャからサーバの”Webサービス拡張”を開き、右クリック→”新しいWebサービス拡張を追加”から上記で登録したdllを指定してWebサービス拡張を登録し、状態を”許可”に変更します。
動作の確認
上記の設定ができたら、以下の内容のテキストファイルを作成し、IISの公開フォルダ内に”info.php”として保存します。IISの設定を変更していなければ、”C:¥Inetpub¥wwwroot¥info.php”として保存すればOKでしょう。
<? phpinfo(); ?>
上記のテキストを、webブラウザから参照(デフォルト位置に保存した場合は、”http://localhost/info.php”を開く)します。以下のような、phpの動作環境情報が表示されれば正常動作です。
上記画面が表示されない場合は設定を見直しましょう。
- フィルタの状態確認~IISマネージャの画面を確認します。正常に登録されていれば、”状態”が上向きの緑色矢印になるはず。これが下向きの 赤矢印だったりする場合はフィルタのパスを間違っていたり、スペルを間違っていたり、あるいはアクセス権が足りなかったりします。指定したライブラリの ファイル名とアクセス権(IUSR_***、もしくはNETWORK SERVICEに実行権あるか?)を確認しませう。
- フィルタのパスがまずい、或いはアクセス権が不足している場合、WindowsイベントログにIISのエラーとしてログが出力されます。まずはイベントログをチェック。