位置:首页 » 文章/教程分享 » Apache AH00341: winnt_accept: Asynchronous AcceptEx failed.
Apache网页有时能访问,有时超时打不开
错误日志中有如下提示:
[Sat Jan 04 10:28:13.328125 2014] [mpm_winnt:warn] [pid 3252:tid 2712] (OS 64)指定的网络名不再可用。  : AH00341: winnt_accept: Asynchronous AcceptEx failed.
[Wed May 14 10:51:47.015625 2014] [core:error] [pid 3252:tid 736] (20025)The given path contained wildcard characters: [client 14.17.18.146:34804] AH00036: access to /*.htm
failed (filesystem path 'D:/wamp/www/*.htm')

mpm_winnt_module多路处理模块(MPM)是Windows NT上的默认值。它使用一个单独的父进程产生一个单独的子进程,在这个子进程中轮流产生多个线程来处理请求。


【解决办法:】 


在httpd.conf文件中添加 Win32DisableAcceptEx 标记,如下: 

<IfModule mpm_winnt.c> 
ThreadsPerChild 150
MaxRequestsPerChild 10000 
Win32DisableAcceptEx 
</IfModule> 

这样可以允许并发连接更大一些。同时性能上也不会有明显的降低。 

如果Apache的error.log还是出现大量的:Sat Dec 24 17:21:28 2006] [warn] (OS 64)指定的网络名不再可 
用。 : winnt_accept: Asynchronous AcceptEx failed。可以参考下列配置: 

1、网上邻居->本地连接->属性->internet协议(TCP/IP)->属性->高级->wins标签->去掉启用LMhosts查询前的勾. 
2、控制面版->windows防火墙->高级标签->本地连接设置->服务的标签里勾选安全Web服务器(HTTPS)。
3、然后退出Apache,再打开启动就可以了 ,一开始我没有退出,直接在那重启,就是不可以,一定要先停止,在开启即可