Internet Explorer 10(Windows 8)导致Apache崩溃

7

我刚刚安装了Windows 8,但在其上运行Apache时遇到了困难。

经过对httpd.conf文件的一些调整(由于WWAHost.exe而更改端口,并允许IPv6中的::1),我终于使其运行起来了(使用EasyPHP安装的)。但是,当我在Internet Explorer 10上打开一些本地网站时,Apache就会停止响应并一直尝试加载页面。

我认为这与Internet Explorer 10有关,因为在其他浏览器上,在加载任何Internet Explorer中的本地网站之前都可以正常工作。在那之后,我必须重新启动Apache才能使其再次工作,并且不再使用Internet Explorer 10以使其保持运行状态。

您是否也遇到同样的问题?


你好Renan,欢迎来到StackOverflow。请在您的帖子中添加更多信息,以便其他人可以帮助您。它是在提供PHP页面还是HTML页面时崩溃的?有哪些样本页面的代码会导致这种情况发生?您的Windows是在物理机器上还是虚拟机上?它是Win 8的发布版本还是某个平台预览版本等? - jakub.g
你可以尝试安装Fiddler来观察请求和响应头以及主体,这可能会给出一些调试提示。你也可以查看请求头并尝试通过像cURL这样的工具重构相同的HTTP查询并观察其行为。 - jakub.g
我在Windows 7上使用Apache 2.4时遇到了同样的问题。当我使用Internet Explorer 11请求页面时,第一次可以正常工作,但之后Apache就会挂起,我必须重新启动它。只要我不使用IE,Chrome就可以正常工作。但是,一旦我使用IE访问页面,Apache就会挂起,Chrome也无法正常工作。 - Stijn de Witt
忘了提一下(不知道是否重要):我是直接从命令行运行Apache的httpd.exe,没有涉及到服务。问题对我来说是可以重现的,每隔两个请求就会出现一次。 - Stijn de Witt
刚安装了2.4版本,惊讶地发现Apache在处理IE请求时甚至对于静态文件也会挂起。更加令人惊讶的是,这个问题已经存在了3年之久!... - Alexander Pravdin
4个回答

16

我曾经遇到过类似的问题,并通过以下解决方案解决了它。请参见在请求EasyPHP / Apache托管的页面时IE会冻结

因为我已经拥有现代的Apache,所以我只需要添加:

AcceptFilter https none
AcceptFilter http none
EnableSendfile Off
EnableMMAP off

在加载模块之前。这个方法非常有效。

我的配置是:Apache 2.4.4 和 Internet Explorer 10


2
这对我解决了问题。不过我只需要前两行代码。我写了一篇博客文章,里面有更多信息和参考资料。 - Stijn de Witt
1
AcceptFilter指令与正在使用的http/https协议相关,这是主要问题。我可以确认前两行代码已经解决了我使用的至少5台电脑上的问题。 - Dr. Gianluigi Zane Zanettini

1
我在运行Windows 7上的Internet Explorer 10时,使用Apache 2.4.2(EasyPHP 12)遇到了同样的问题,但我似乎找到了一个on astutelogic.com看起来可以解决问题的解决方案。至少,按照这些说明将Apache升级到2.4.4对我有效。
我从Apache Lounge下载了Apache二进制文件,然后在提取/重命名步骤之后,将我的当前“php.ini”和“httpd.conf”文件复制到新文件夹中,并按照说明向我的“httpd.conf”文件添加了其他行。
根据链接页面,关于开发服务器与实际服务器的说明:
只要我能看到,AcceptFilter指令只在FreeBSD和Linux(在较小程度上)上真正起作用,因此在Windows上没有任何好处。不过,无论如何,它只是一个开发环境,所以减慢几毫秒不应该成为问题。
更新

刚刚注意到 EasyPHP 13.1 已经发布了,它带有 Apache 2.4.4。如果你还没有尝试上面链接的步骤(或者仅仅是更新 EasyPHP),我建议你直接下载更新后的软件栈。


这个回答对我有帮助......源站点有Apache 2.4.4,也可以安装在WAMP服务器上。WAMP 2.2带有Apache 2.4.2,并且运行非常缓慢。一旦我安装了Apache 2.4.4,它的运行速度就几乎和localhost一样快了。你们也应该将Windows Defender从实时扫描httpd.exe和mysqld.exe中排除,以加速运行。 - brant

0

我一直在尝试解决Windows 7上Internet Explorer 10的相同问题,并发现使用兼容性模式可以缓解大部分在localhost网站上的延迟。

我知道这并不完全是一个解决方案,但我在Windows 8上也遇到了这些问题,并尝试了常见的修复方法,但无济于事。


0

可能是与ThreadsPerChild有关。

请检查error.loghttpf.conf文件:

# Server-pool management (MPM specific)
#Include conf/extra/httpd-mpm.conf

我在Internet Explorer 10中遇到了同样的问题,但现在似乎无法再次复现。通常我使用Firefox,没有问题。看起来是在更新到Apache 2.4之后出现了这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接