IIS Webサイトは、Identity詳細プロパティがApplicationPoolIdentityに設定されているアプリケーションプールを介して実行されます。Webサイトは、FastCGIハンドラーを介してPHPスクリプトを実行します。これらのスクリプトは、ファイルに書き込むことはできますが、アプリケーションプールユーザーに十分な権限がある場合でもアクセスが拒否されます。ProcMonを実行したところ、スクリプトがアプリケーションプールユーザーの代わりにIUSRを使用してファイルを開こうとしていることがわかります。
スクリプトのURLを開くと、PHP Warning: fopen(C:\ABC\test.txt): failed to open stream: Permission denied
が表示されます
SysinternalのProcMonを実行すると、次のようになります。
Example.comユーザーを使用してファイルにアクセスできるように修正するにはどうすればよいですか?
最後にそれを見つけました。それを設定する必要があるもう1つの場所があります。
Site -> Authentication -> Anonymous Authentication -> Edit to "Application Pool Identity"
ソース: PHP on IIS 7.5/W2K8 using IUSR Account not IIS_APPPOOL\DefaultAppPool