2007/07/05

2007-07-05:PHP 4.4.7 on IIS6 in Windows2003server

www.php.net から 4.4.7 をもらってきて、C:\php 以下に展開。
sapi フォルダ、dlls フォルダの中身を C:\php 直下に移動しておく。
[管理ツール]→[システム]→[環境変数]で PATH に “;C:\php” を追加。
C:\php\php.ini-recommend を編集して C:\WINDOWS 以下にコピー。

[管理ツール]→[IISマネージャ]で「Webサイト」→「既存の Web サイト」をだして、右クリックメニューのプロパティを選択。
ホームディレクトリタブの構成を選び、マッピングタブの追加で、”.php” に対して “C:\php\php4isapi.dll” を設定。
「既存の Web サイト」のとなりの「Web サービスの拡張」でも同様に設定。

で、再起動。

マニュアルとか巷のサイトを見るに、これで大丈夫らしいんだけど。。。401 喰らうよ!

アクセス制御関係だよなぁ。
DocumentRoot の C:\Inetpub\wwwroot や C:\php が IUSR_{machine名} 権限で読み込みも読み込み実行もできることを繰り返し確認(というか、めんどくさいからフルコントロール)。
なんども確認して唸ること1時間強。

ふと、各フォルダに IIS_WPG にも権限を与えてみた。

ようやく動いた!

これまで apache の上でばかり生活していたので、シンプルな権限管理しかカラダが知らず、FileSystem に紐づけられた権限管理というのがどうもしっくりきません。
そして、うまく行かないときに、どこに情報が出るのかがわかってない。
慣れない環境はむずかしいです。。。

# そもそも匿名アクセスという概念を理解するのに無駄に時間がかかった。
# これは自分のアタマが腐ってるのが悪いな。しょぼん。