【发布时间】:2016-10-30 08:33:04
【问题描述】:
我想寻求有关在 Windows 服务器 IIS 8.5 上设置新网站的帮助
我的服务器上有两个版本的 PHP,5.4.9 和 5.6.2.2。它们都工作正常。 MySQL 服务器也在工作。我已经在 IIS 中创建了新站点,并赋予了 IIS_IUSRS 的所有权限,但是当我想运行网页时,我总是得到 fopen() 函数的权限被拒绝。我正在使用捷克 PHP 框架 Nette,它需要某些文件夹的写入权限。没有它,它就无法工作。但我无法进行任何更改来修复它。站点文件夹位于 C:\inetpub\ 文件夹中。你有任何想法如何解决这个问题吗?
我已经阅读了 StackOverflow 上的许多教程和问题,但这些建议都没有奏效。
最后还有一个问题,你有没有详细的教程如何在 IIS 8.5 中正确设置新的 PHP 网站?一直以来,当我修复某件事时,另一件事是错误的。根据那些教程,我发现它看起来太快太容易了。
感谢您的帮助。
【问题讨论】:
-
你想
fopen()什么文件? -
框架生成文件。它是内部缓存文件。如果我写下收到的错误消息可能会有所帮助:fopen(C:\inetpub\website\temp\cache/_Nette.RobotLoader/_f093448321925bc685b925c337cda4bc): failed to open stream: Permission denied
-
检查运行该站点的应用程序池,如果它是
ApplicationPoolIdentity,则确保IIS APPPOOL\<App Pool Name>可以访问该文件夹C:\inetpub\website\temp\cache。如果它在应用程序池的Identity下列出了不同的用户,请确保登录具有访问权限 -
我选择的 AppPool 网站有 Identity NetworkService。我给了他我需要的文件夹的权限,但它仍然是同样的问题,没有任何改变。我是否必须创建一些新的用户登录系统才能使其正常工作?
-
既然您使用的是
Network Service,请确保“用户”Network Service和IUSR也可以访问该文件夹
标签: php windows iis permissions iis-8.5