The Apache service suspends Asynchronous AcceptEx failed.
Recently, PHP5.6 + Apache2.4 was used to build a development environment. during actual development, it was found that the http request was in the suspended state, so the (net start/stop) Apache2.4 service was restarted, then, the problem was solved. However, after a while, a problem occurred while opening the page. by viewing the web server logs, we found that many "the specified network name is no longer available" errors were reported:
[Thu Nov 20 14:07:43. 151780 2014] [mpm_winnt: warn] [pid 8752: tid 1132] (OS 64) the specified network name is no longer available. : AH00341: winnt_accept: Asynchronous AcceptEx failed.
[Thu Nov 20 14:07:43. 152781 2014] [mpm_winnt: warn] [pid 8752: tid 1132] (OS 64) the specified network name is no longer available. : AH00341: winnt_accept: Asynchronous AcceptEx failed.
[Thu Nov 20 14:07:43. 152781 2014] [mpm_winnt: warn] [pid 8752: tid 1132] (OS 64) the specified network name is no longer available. : AH00341: winnt_accept: Asynchronous AcceptEx failed.
[Thu Nov 20 14:07:43. 152781 2014] [mpm_winnt: warn] [pid 8752: tid 1132] (OS 64) the specified network name is no longer available. : AH00341: winnt_accept: Asynchronous AcceptEx failed.
[Thu Nov 20 14:07:43. 152781 2014] [mpm_winnt: warn] [pid 8752: tid 1132] (OS 64) the specified network name is no longer available. : AH00341: winnt_accept: Asynchronous AcceptEx failed.
To find information on the Internet, add the Win32DisableAcceptEx tag in the httpd. conf file:
<IfModule mpm_winnt.c>
ThreadsPerChild 150
MaxRequestsPerChild 10000
Win32DisableAcceptEx
</IfModule>
After the configuration, the problem persists. Check the Apache Manual (PS: Check the latest Apache2.4 manual). The official explanation is as follows:
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 specified ented 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.
Add the following information to the configuration file:
AcceptFilter http none
AcceptFilter https none
Final Solution
-------------------------------------- Split line --------------------------------------
Install the LAMP \ Vsftpd \ Webmin \ phpMyAdmin service and settings in Ubuntu 13.04
Compile and install LAMP in CentOS 5.9 (Apache 2.2.44 + MySQL 5.6.10 + PHP 5.4.12)
Source code for Web server architecture in RedHat 5.4 build the LAMP environment and application PHPWind
Build a WEB Server Linux + Apache + MySQL + PHP in the LAMP source code Environment
LAMP + Xcache environment setup
-------------------------------------- Split line --------------------------------------
This article permanently updates the link address: