2010/02/11

IISの仮想ディレクトリでPHPを使う

WindowsのIISとPHPを使ってWebページを作っていたところ、
IISにある仮想ディレクトリ機能を使ったら、急にPHPが使えなくなりました。

悩み色々調べた結果、php.iniのdoc_rootの設定が影響していたようです。
対応策としては、この値を空にすることで、仮想ディレクトリでもPHPが使えることが分かりました。
全く知りませんでした。

IISでPHPを使おうと思うと意外と難しいです。
IISでPHPを使う手順を簡単にメモしておきます。
1.Cドライブ直下にPHPを展開
2.php.iniを作成し、Windowsフォルダにコピー。
 PHPフォルダに入っているdllをsystem32に移動する。(apache系とapi系は不要だと思います)
3.IISの設定を変更する。ISAPIフィルタにphp5isapi.dllを登録する。
 アプリケーションの構成にも同様に登録する。
4.IISを再起動する。

普通ならこれで行けると思うのですが、よく起こるのがファイル・フォルダへのアクセス制限による問題
これが困ったことに面倒極まりない。

アクセス権がないと言われた場合の確認
1.htmlファイルを作成し、IISで表示できるか確認
 → 問題が発生した場合はIISの設定を失敗している または ホームディレクトリにIUSR_***がアクセスできる権限がない
 ⇒IISの設定を見直してください。 フォルダおよびファイルにIUSR_***のアクセス権を追加してください。

2.php.iniとphp5isapi.dllにIUSR_***のアクセス制限を追加し確認。

アクセス制限が問題となる場合は、「管理ツール」の「コンピュータの管理」から、IUSR_***に対してアクセス制限を追加してあげると簡単に解決できると思います。
※ただし、セキュリティには十分気をつけてください。

なんとも面倒なものですね・・・

0 件のコメント:

コメントを投稿