我对WinCache有一个奇怪的问题,这可能不是最好的论坛。我检查了SuperUser,但是关于WinCache有0的结果。在整个网络中,支持似乎很弱,但至少以前已经讨论过了。
我在同一服务器上有一个活动站点和一个开发站点(CakePHP框架、Windows 2008 R2、IIS7.5、PHP5.3、FastCGI、WinCache 1.1)。位于端口80,dev位于81号。IIS有两个网站,每个站点指向Inetpub\wwwroot中的不同根文件夹。每个站点在不同的应用程序池下运行。
在对dev站点进行更改后的一段时间内,活动站点开始出错。经过一些痛苦的调试后,我发现发生了以下(完全蹩脚的)事件链:
如果我通过端口80 (活动站点)下的web接口检查WinCache属性,我会看到文档根目录是Inetpub\wwwroot\Live -正如预期的那样。但是,如果我查看文件缓存选项卡下的缓存文件列表,就会看到一些文件缓存了两次。鼠标越野告诉我,一个来自Inetpub\wwwroot\Dev,另一个来自Inetpub\wwwroot\Live。
这怎麽可能?为什么IIS在GET请求中使用一个,而在POST中使用另一个?我知道CakePHP基于格式化的URL选择加载哪些文件,但是处理路由的index.php文件位于Inetpub\wwwroot\Live中,因此可能永远不会在不同的文档根目录中请求文件。在我看来,PHP似乎要求IIS提供一个文件,但是IIS在与WinCache通信时失去了它的功能。
到目前为止,我无法找到任何方法禁用WinCache的一个网站,但即使我可以,我可能不会再相信它了。
任何关于这一令人烦恼的问题的建议都将不胜感激。
发布于 2012-01-29 11:31:09
我没什么问题。
试试这个:使用Wincache 1.2 (Beta)
不要使用“。”在AppPool的名字中。
(选择)为每个ProcessUser创建一个AppPool。
在会话目录中查找名为"wincache_session_*“的会话文件。
将wincache.php从每个网页目录中的"AppDir 86\IISWincache\wincache.php“复制出来,并在http上打开。
https://stackoverflow.com/questions/8130847
复制相似问题