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 on 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 的日志文件。好的,通过谷歌搜索我发现 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以前曾经起作用。

相关内容