Apache 错误记录

apache 遇到[error] (OS 10038) 错误2007-06-01 11:38我的机器是windows server 2003 主要是用作开发用,除了apache 还装了很多其他软件;首先一次重新启动后遇到了这个问题:taskmanager 里有两个httpd进程,其中一个占用cpu 很高 于是去查看event viewer 没有看到问题...........去看error.log 果然问题出在这里,里面有好多个这样的错误,看来是陷入死循环了。error] (OS 10038) : Child 3356: Encountered too many errors accepting client connections. Possible causes: dynamic address renewal, or incompatible VPN or firewall software. Try using the Win32DisableAcceptEx directive.于是我很开心的去网上查解决办法,去了几个国内论坛也去了几个国外的论坛,最先找到的解决办法都是:解决方法:编辑httpd.conf在文件尾加入下面一行Win32DisableAcceptEx重启apache可是我的问题就是还没有解决,以出现了新的问题Fri Jun 01 10:15:27 2007] [notice] Apache/2.2.3 (Win32) PHP/5.1.4 configured -- resuming normal operations[Fri Jun 01 10:15:27 2007] [notice] Server built: Jul 27 2006 16:49:49[Fri Jun 01 10:15:27 2007] [notice] Parent: Created child process 3344[Fri Jun 01 10:15:27 2007] [notice] Disabled use of AcceptEx() WinSock2 API[Fri Jun 01 10:15:29 2007] [notice] Child 3344: Child process is running[Fri Jun 01 10:15:29 2007] [notice] Child 3344: Acquired the start mutex.[Fri Jun 01 10:15:29 2007] [notice] Child 3344: Starting 250 worker threads.[Fri Jun 01 10:15:29 2007] [notice] Child 3344: Listening on port 80.[Fri Jun 01 10:15:29 2007] [error] (OS 10038)An operation was attempted on something that is not a socket. : Too many errors in select loop. Child process exiting.[Fri Jun 01 10:15:29 2007] [notice] Child 3344: Exit event signaled. Child process is ending.[Fri Jun 01 10:15:30 2007] [notice] Child 3344: Released the start mutex[Fri Jun 01 10:15:30 2007] [notice] Child 3344: Waiting for 250 worker threads to exit.[Fri Jun 01 10:15:30 2007] [notice] Child 3344: All worker threads have exited.[Fri Jun 01 10:15:30 2007] [notice] Child 3344: Child process is exiting[Fri Jun 01 10:15:30 2007] [notice] Parent: child process exited with status 0 -- Restarting.[Fri Jun 01 10:15:31 2007] [notice] Apache/2.2.3 (Win32) PHP/5.1.4 configured -- resuming normal operations[Fri Jun 01 10:15:31 2007] [notice] Server built: Jul 27 2006 16:49:49[Fri Jun 01 10:15:31 2007] [notice] Parent: Created child process 288[Fri Jun 01 10:15:31 2007] [notice] Disabled use of AcceptEx() WinSock2 API[Fri Jun 01 10:15:32 2007] [notice] Child 288: Child process is running[Fri Jun 01 10:15:32 2007] [notice] Child 288: Acquired the start mutex.[Fri Jun 01 10:15:32 2007] [notice] Child 288: Starting 250 worker threads.[Fri Jun 01 10:15:32 2007] [notice] Child 288: Listening on port 80.[Fri Jun 01 10:15:32 2007] [error] (OS 10038)An operation was attempted on something that is not a socket. : Too many errors in select loop. Child process exiting.就这样的不停重复。。。。。。。。。。。于是继续找。。同时在http server 的文档上查了一下Win32DisableAcceptEx 这个命令同时找到下面两个可以说是建议吧:一、Udpsocket Wsa Error = 10038    首先这也是个10038错误,和winsock相关,我觉得可能有用就看了一下问题是这样陈述的:    HI,cAN ANYBODY HELP IN THE FOLLOWING ERROR:I STARTED MY SYS TODAY , AND IT SHOWED ME THE ERROR " UDPSOCKET" AND THEN IN ANOTHER DIALOGBOX IT SAID " WSA ERROR = 10038"NOW I M UNABLE TO CONNECT TO THE NETWORKING MACHINES AND NOR CAN I CONNECT TO THE INTERNET.CAN ANYBODY HELP IN THIS REGARD ? WD REALLY APPRECIATE THAT .IT'S PRETTY URGENT.REGARDSARUNmlegg 给出了解决办法:If you have updated Windows and have SP2 (you should by now)Go to the Start button > to the Run box > type cmd and the command window opensnow type: netsh winsock reset this will repair your corrupted Winsock if you do not have SP2 yet for some reason, then read this page from MS on how to repair your WinsockAfterwards go to Windows Updates and get everything you do not have yet. There has been a lot of updates and patches over the last few months. They come out the 2nd Tuesday of every month, but this month they were released early to fix a critical patch.同时我也在同时在http server 的文档上看到Win32DisableAcceptEx (使用accept()代替AcceptEx()接受网络链接)这个命令,有一个关于AcceptEx()的介绍:AcceptEx()是一个微软的WinSock2 API ,通过使用BSD风格的accept() API提供了性能改善。一些流行的Windows产品,比如防病毒软件或虚拟专用网络软件,会干扰AcceptEx()的正确操作。如果你遇到类似于如下的错误:[error] (730038)An operation was attempted on something that is not a socket.: winnt_accept: AcceptEx failed. Attempting to recover. 你就需要使用这个指令来禁止使用AcceptEx() 。于是我使用了netsh winsock reset命令也把Symantec AntiVirus 卸载了重新启动,问题解决后记:问题虽然解决了,但是从头到尾还没有完全搞清楚, 还有两个疑问:(1)还是不知道问题到底是怎么产生的,我以前就一真用Symantec AntiVirus,如果是因为它,为什么到现在才产生这个问题,如果说是由于更新病毒库的原因,我自己也不能说服我自己相信这个理由(2)如果是由于系统升级产生的问题那么为什么会产生这个问题?呵呵,饿了,先去吃饭,回来再解决之两个疑问我又重新把Symantec AntiVirus装起,呀,没有问题,不知道问题是怎么产生的了,就是Symantec AntiVirus还没有更新病毒库呢,哈,学校的网络有点差,毕竟是教育网,怎样才让访问国外的网站速度快一点呢?....总这可以确定是winsock2 corrupted 了要用 netsh winsock reset 恢复而不是用Win32DisableAcceptEx 把 acceptex() 关掉
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值