最近在使用PHP5.6+Apache2.4,搭建开发环境;在实际的开发过程中发现http请求一致处于挂起状态,于是重启(net start/stop)Apache2.4服务,然后再访问问题得到了解决,但是过一会,平凡的打开页面又出现问题,通过查看...

最近在使用PHP5.6+Apache2.4,搭建开发环境;在实际的开发过程中发现http请求一致处于挂起状态,于是重启(net start/stop)Apache2.4服务,然后再访问问题得到了解决,但是过一会,平凡的打开页面又出现问题,通过查看web服务器的日志,发现报很多"指定的网络名不再可用"的错误:
1
2
3
4
5
|
[Thu?Nov?20?14:07:43.151780?2014]?[mpm_winnt:warn]?[pid?8752:tid?1132]?(OS?64)指定的网络名不再可用。??:?AH00341:?winnt_accept:?Asynchronous?AcceptEx?failed.
[Thu?Nov?20?14:07:43.152781?2014]?[mpm_winnt:warn]?[pid?8752:tid?1132]?(OS?64)指定的网络名不再可用。??:?AH00341:?winnt_accept:?Asynchronous?AcceptEx?failed.
[Thu?Nov?20?14:07:43.152781?2014]?[mpm_winnt:warn]?[pid?8752:tid?1132]?(OS?64)指定的网络名不再可用。??:?AH00341:?winnt_accept:?Asynchronous?AcceptEx?failed.
[Thu?Nov?20?14:07:43.152781?2014]?[mpm_winnt:warn]?[pid?8752:tid?1132]?(OS?64)指定的网络名不再可用。??:?AH00341:?winnt_accept:?Asynchronous?AcceptEx?failed.
[Thu?Nov?20?14:07:43.152781?2014]?[mpm_winnt:warn]?[pid?8752:tid?1132]?(OS?64)指定的网络名不再可用。??:?AH00341:?winnt_accept:?Asynchronous?AcceptEx?failed.
|
????在网上找各种资料,都是说在httpd.conf文件中添加 Win32DisableAcceptEx 标记:
1
2
3
4
5
|
<IfModule?mpm_winnt.c>
????
ThreadsPerChild?150
????
MaxRequestsPerChild?10000
????
Win32DisableAcceptEx
</IfModule>
|
配置之后问题依然未得到解决,最终查看Apache的手册(PS:查看最新的Apache2.4的手册),看到官方的如下解释:
The default values on Windows are:
AcceptFilter http data
AcceptFilter https data
Window‘s mpm_winnt interprets the?AcceptFilter?to toggle the AcceptEx() API, and does not support http protocol buffering. There are two values which utilize the Windows AcceptEx() API and will recycle network sockets between connections.?
data
?waits until data has been transmitted as documented above, and the initial data buffer and network endpoint addresses are all retrieved from the single AcceptEx() invocation.?
connect
?will use the AcceptEx() API, also retrieve the network endpoint addresses, but like?
none
?the?
connect
?option does not wait for the initial data transmission.
On Windows,?
none
?uses accept() rather than AcceptEx() and will not recycle sockets between connections. This is useful for network adapters with broken driver support, as well as some virtual network providers such as vpn drivers, or spam, virus or spyware filters.
在配置文件中添加如下信息:
1
2
|
AcceptFilter?http?none
AcceptFilter?https?none
|
最终解决问题
本文标题为:Apache服务挂起Asynchronous AcceptEx failed.


基础教程推荐
- windows环境下apache-apollo服务器搭建 2023-09-10
- P3 利用Vulnhub复现漏洞 - Apache SSI 远程命令执行漏洞 2023-09-10
- RFO SIG之openEuler AWS AMI 制作详解 2022-12-28
- Apache CarbonData 1.0.0发布及其新特性介绍 2023-09-11
- Apache Kafka 2.5 稳定版发布,新特性抢先看 2023-09-11
- Centos7 nginx的安装以及开机自启动的设置 2023-09-22
- 通过StatefulSet部署有状态服务应用实现方式 2022-10-01
- 为Win2003服务器打造铜墙铁壁的方法步骤 2022-09-01
- Docker容器操作方法详解 2022-11-13
- Centos 安装Django2.1 2023-09-24