iis 7.5 laravel 3.2 アプリ ログでストリームを開けませんでした: 権限が拒否されました

iis 7.5 laravel 3.2 アプリ ログでストリームを開けませんでした: 権限が拒否されました

実稼働環境で稼働している Laravel 3.2 アプリを IIS 7.5 サーバーに移行するよう依頼されました。実稼働環境の php.ini を 5.4.37 で動作するように設定しましたが、500 エラーが発生し、実行するために必要なトラブルシューティングを行うことができません。

display_errors を display-startup_errors = on に設定し、MSIE でサーバー上のわかりやすい警告をオフにすると、最終的にいくつかのフィードバックが得られます。

 file_put_contents(C:\inetpub\wwwroot\HMarketing\storage\logs/2015-03-03.log): failed to open stream: Permission denied

larvel のログ ファイルにログを書き込むことができません。Google で調べてみると、IIS は読み取り書き込み権限を付与する必要がある IIUSR ロールを使用していることがわかりました。

匿名ユーザーの認証を詳しく調べたところ、"IUSR" に設定されていることがわかりました。これは、MS ヘルプ ページで提案されている "IIUSR" とは異なるようです。ただし、このサーバーは他の本番アプリをアクティブに提供し、他の動作中のアプリの権限をチェックしています。それらには同じ "IUSR" が設定されていることがわかりました。おそらく、IIUSR に相当するものがあるのでしょうか?

私は必死に IIS を学んでいるので、Google によると行き詰まっています。Laravel でログを表示できない理由を解決するには、次の手順で何をすればよいでしょうか?

mcrypt is enabled
mb_string is enabled

答え1

これは正しい方法ではないかもしれませんが、Windows エクスプローラー内でストレージ フォルダーのプロパティ、セキュリティ タブを開き、「アクセス許可の継承」を無効にしました。次に、IUSR(サイト) ユーザーにフォルダーへの書き込み権限を追加しました。これが悪いことではないことを願いますが、少なくともこのエラーは回避できました。私よりも知識のある方が、このエラーを回避する最も安全な方法を教えてくれると嬉しいです。

答え2

.\IIS_IUSRS私たちの場合、 の代わりに グループを使用したところ、問題は解消されましたIUSR。不思議なことに、 はIUSR以前は機能していました。

関連情報