IIS 7でPHPに書き込み権限を追加する


Answers

実際、少し複雑です。

まず、関係するWebサイトに簡単なPHPファイルを作成します。 (各ウェブサイトは異なる設定を持つことができるので、関連するウェブサイト上にファイルを作成することが重要です)。このファイルの内容は次のとおりです。

<?php var_dump(ini_get('fastcgi.impersonate')); ?>

ブラウザを使用してこのファイルに移動します。

**ケース1 **

ブラウザに表示される場合:

string(1) "1"

次に、次のコマンドを実行する必要があります(IISのWebサイトに指定した名前で「既定のWebサイト」を置き換える必要があります)。

%windir%\system32\inetsrv\appcmd.exe list config "Default Web Site" ^
/section:anonymousAuthentication

あなたは次のような答えを受け取ります:

<system.webServer>
  <security>
    <authentication>
      <anonymousAuthentication enabled="true" userName="IUSR" />
    </authentication>
   </security>
</system.webServer>

あなたが探している情報は、 anonymousAutthentificationタグのusername属性の値です。

  • この値が空でない場合、その内容は書き込み権限を与える必要があるユーザーの名前です。
  • この値が空の場合、または単に属性が欠落している場合は、 IIS AppPool\AppPoolName書き込み権限を与える必要がありIIS AppPool\AppPoolName (「AppPoolName」をWebサイトのアプリケーションプールの名前に置き換えます)。

**ケース2 **

ブラウザに表示される場合:

string(1) "0"

IIS AppPool\AppPoolName書き込み権限を与える必要がありIIS AppPool\AppPoolName ( "AppPoolName"をWebサイトのアプリケーションプールの名前に置き換えてください)。

Question

ディレクトリに書き込み権限を持つにはPHPスクリプトが必要です。 PHP 5.3はIIS 7のFastCGIとしてWindows Server 2008をOPとして実行しています。 私のPHPエラーログでは、スクリプトがファイルを書き込もうとしたときに "permission denied"と表示されます。

どうすればこれを整理できますか? 私はIIS_IUSRとIUSR_myservername(私のフォルダを右クリックして)にすべての権利を与えようとしましたが、うまくいきませんでした。

どんな助けでも非常に感謝します。

よろしく、

ジュリアン