goo blog サービス終了のお知らせ 

これでも私SEなんです

Web開発の奮闘記と、その中で新たに見つけた知識をブログに残して、備忘録にしています。

apacheでlocalhostが接続できない事象を解決する方法

2009-10-30 | PHPを学ぶ
phpで開発中で、昨日まで普通にapacheが起動していたのですが突然・・・
レスポンスが返ってこなくなりました。

apacheを再度入れなおしたり、phpを無効にしたりしてみましたが・・・

すでに皆さんが質問している「apacheが起動しない!」というとは
ちょっと症状が違うようなのです。

apacheをインストールして、
​http://localhost/​にアクセスするのですが、
いつまで経っても接続中でページが表示されません。
プログレスバーが真ん中くらいで止まってしまい考え中のままです。

困りました。
ホントに困って、他のPCに乗り換えようかと思っていました。

環境は、WindowsXP ServicePack3で
apache2.2.1.4です。

インストール時に、NetworkDomaintとServerNameは、localhostを指定し、
メールアドレスも入力して、無事インストールは正常に終わりました。

hostsファイルは、127.0.0.1 localhost を書いているだけです。
IISは入っていません。

access.logには、何も記録されません。

コマンドでnetstatやtelnetで確認すると、ポート80は開いているし、
httpが起動しているかどうかは分かっているみたいなのですが・・・。

こんな事象になっている人はいませんか?
これで完全に作業がとまってしまいました。

■解決方法

httpd.confに、Win32DisableAcceptExを追加することで、
ページを見ることができました。

実際には以下の通りに設定しました。

追加前:
<IfModule mpm_winnt.c>
ThreadsPerChild 250
MaxRequestsPerChild 0
</IfModule>

追加後:
<IfModule mpm_winnt.c>
ThreadsPerChild 250
MaxRequestsPerChild 0
Win32DisableAcceptEx
</IfModule>

これで、localhostが表示されるようになりました。
詳しくはわかりませんが、これで良しとしましょう。