PHPスクリプトがディレクトリに書き込み許可を持っている必要があります。PHP 5.3は、IIS 7でWindowsサーバー2008をOPとして使用しています。PHPエラーログで、スクリプトがファイルを書き込もうとすると「許可が拒否されました」と表示されます。
これをどうやって整理できますか? IIS_IUSRとIUSR_myservernameに(私のフォルダーを右クリックして)すべての権利を与えようとしましたが、うまくいきませんでした。
どんな助けでも大歓迎です、
よろしく、
ジュリアン
私は同じ設定をしていて、書き込み許可を与えなければなりません:
IUSR
IIS AppPool\<<AppPoolName>>
実際には、もう少し複雑です。
最初に行うことは、単純なPHPファイルを関連するWebサイトに作成することです。各Webサイトは異なる設定を持つことができるため、関連するWebサイトにファイルを作成することが重要です。)このファイルは次のとおりです。
<?php var_dump(ini_get('fastcgi.impersonate')); ?>
ブラウザを使用してこのファイルに移動します。
**ケース1 **
ブラウザに表示される場合:
string(1) "1"
次に、次のコマンドを実行する必要があります(「既定のWebサイト」をIISで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>
探している情報は、username
タグのanonymousAutthentification
属性の値です。
IIS AppPool\AppPoolName
に書き込み権限を付与する必要があります(「AppPoolName」をWebサイトのアプリケーションプールの名前に置き換えてください)。**ケース2 **
ブラウザに表示される場合:
string(1) "0"
IIS AppPool\AppPoolName
に書き込み許可を与える必要があります(「AppPoolName」をWebサイトのアプリケーションプールの名前に置き換えます)。
[〜#〜] php [〜#〜] IISではなく書き込み許可を与える必要があります。これは、PHPで実行されているユーザーアカウントにアクセス許可が必要であることを意味します(おそらく同じアカウントIISで実行されています)。