(OS 996)重複した I/O イベントはシグナルされた状態ではありません。 : winnt_accept: Asynchronous AcceptEx failed.
PHPの本家サイトを見ると、PHPの5.3.6のstableが出ている(実際にCentOSでは使っている)が、Apacheで使うWindowsバイナリーが配布されていない?! VC9はapacheでは使わないでという文言は変わってないから、「開発機はどうしたもんだろうな」と思っていると、どうも調子がおかしくなった。
apacheのerror.logを見ると、
(OS 996)重複した I/O イベントはシグナルされた状態ではありません。 : winnt_accept: Asynchronous AcceptEx failed.
が大量に吐き出されてる。
この手のエラーは面倒くさいと思ってググってみると、いきなりこのサイトにご教示いただいた(ありがとうです)。
やることは簡単。
httpd-mpm.conf(windows版のアパッチはデフォルトでMPMで動く)に一文を追加。
# WinNT MPM # ThreadsPerChild: constant number of worker threads in the server process # MaxRequestsPerChild: maximum number of requests a server process serves <IfModule mpm_winnt_module> ThreadsPerChild 150 MaxRequestsPerChild 0 Win32DisableAcceptEx </IfModule>
これで動くようになりました。とりあえず、開発はできるのでよかった、よかった。