首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IIS wincache失败

IIS wincache失败
EN

Stack Overflow用户
提问于 2015-03-04 08:57:33
回答 2查看 818关注 0票数 0

这让我们都快疯了。

我们有一个使用wincache运行php的IIS web服务器。

在iis中,我们使用虚拟目录映射文档根目录和网站的第二部分。

首先,下面是错误:

代码语言:javascript
复制
PHP Fatal error:  session_start(): Failed to initialize storage module: wincache (path: C:\Windows\Temp)

我们在一个简单的单行php文件中复制了这个错误:

代码语言:javascript
复制
<?php
session_start();
?>

这是最重要的

如果将此文件放在根doc文件夹中的任何位置,都不会抛出任何错误。但一旦放到虚拟目录中,它将工作大约5分钟,然后失败。它将继续失败,直到我们重新启动IIS。

我们还有两台配置完全相同的服务器。它在两台服务器上都可以正常工作。

EN

回答 2

Stack Overflow用户

发布于 2015-03-04 13:29:22

这可不是我想要的答案。但我们只是花了几个小时切换到Apache。Bug消失了,服务器变得更快了,一切都很好。

票数 0
EN

Stack Overflow用户

发布于 2015-06-05 06:10:27

这听起来像是运行PHP的IIS应用程序池ID没有写入C:\Windows\Temp的权限。你应该检查文件夹上的ACL,看看它是否可由你的应用程序池标识写入。

代码语言:javascript
复制
c:\Windows>icacls Temp
Temp NT AUTHORITY\SYSTEM:(OI)(CI)(S,RD)
     BUILTIN\IIS_IUSRS:(OI)(CI)(S,RD)
     BUILTIN\Users:(CI)(S,WD,AD,X)
     BUILTIN\Administrators:(F)
     BUILTIN\Administrators:(OI)(CI)(IO)(F)
     NT AUTHORITY\SYSTEM:(F)
     NT AUTHORITY\SYSTEM:(OI)(CI)(IO)(F)
     CREATOR OWNER:(OI)(CI)(IO)(F)

如果你在ACL上看不到BUILTIN\IIS_IUSRS,那么默认的应用程序池ID就不能写入该目录。如果您对应用程序池使用自定义用户ID,则需要确保它位于文件夹的ACL中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28844922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档