Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

Apache error

[复制链接]
carlkyo 发表于 2008-1-3 09:50:45 | 显示全部楼层 |阅读模式
AcceptEx() is a Microsoft WinSock v2 API that provides some performance improvements over the use of the BSD style accept() API in certain circumstances. Some popular Windows products, typically virus scanning or virtual private network packages, have bugs that interfere with the proper operation of AcceptEx(). If you encounter an error condition like:

[error] (730038)An operation was attempted on something that is not a socket.: winnt_accept: AcceptEx failed. Attempting to recover.

you should use this directive to disable the use of AcceptEx().

主要是說這 AcceptEx() 是 Microsoft WinSock v2 API 一組提升網路效率 API 中的指令。而且在 Windows 上似乎蠻有可能出問題的。

註:可能為了效能還是預設為開啟 AcceptEx()

如果無預警的發生問題,我猜可能是 Windows Update 或是防火牆、防毒軟體更新了某些網路原件,造成 Microsoft WinSock v2 API 動作不正常,這時可以把這個功能先給關掉。

依照官方說明 , Win32DisableAcceptEx 這個功能,只有 2.0.49 版以後的才可以使用,所以我猜測 AcceptEx() 這個指令大概也是 2.0.49 才會開始支援(目前最新的就是 2.0.49)。

關掉 AcceptEx() 的方式只要在 httpd.conf 找到 區段,加入 Win32DisableAcceptEx 就可以了。

<IfModule mpm_winnt.c>
Win32DisableAcceptEx #加入這一行
ThreadsPerChild 250
MaxRequestsPerChild 0
</IfModule>

然後重新啟動 Apache ,動作果然都正常了。
上網找到的
貼上來分享一下
 楼主| carlkyo 发表于 2008-1-3 10:38:23 | 显示全部楼层
这个问题我自己来解决:在apache2.0.49-rc2中添加Win32DisableAcceptEx这个设置即可解决这个问题。呵呵。看来大家都得努力呀。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-19 23:38 , Processed in 0.023897 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表