윈도우에서 APM을 설치하고 작업 중인 소스를 돌려보려던 참에 예기치 못한 문제가 생겼었습니다. localhost로 접속하자 페이지가 한 번은 열리는듯 하다가 간헐적으로 딜레이 현상이 발생하면서 정상적으로 작업을 할 수 없는 상황이었습니다.
리눅스 서버에 있는 아파치와 PHP config 파일까지 동일하게 세팅했기 때문에 환경적인 문제인가 생각했습니다.
일단 문제를 좀 더 정확하게 보기 위해 아파치 로그를 보기로 했는데 에러가 출력되고 있었습니다.
[mpm_winnt:warn] [pid 4960:tid 1616] (OS 64)지정된 네트워크 이름을 더 이상 사용할 수 없습니다. : AH00341: winnt_accept: Asynchronous AcceptEx failed.
이 에러로 인해 문제가 생겼다는걸 짐작으로도 알 수 있었죠.
이 문제는 윈도우 기반 환경에서 아파치를 구동시 EnableMMAP 설정과 관련해 충돌이 일어나는 것이 원인이어습니다.
이 문제는 이렇게 해결 했습니다.
# httpd.conf EnableMMAP off EnableSendfile off AcceptFilter http none AcceptFilter https none
EnableMMAP 설정을 Off로 하고 AcceptFilter 설정들을 추가 해줍니다. 그리고 아파치를 재시작하면 문제는 해결됩니다.