Xampp入れ直したらApache立ち上がらなくなった。。。

Xamppを入れ直して、ZendDebuggerを入れて有効にするためにApacheを再起動しようと思ったらApacheが立ち上がらなくなった…
Xamppのコントローラーから開始をしようとしても一向に開始せず。
でもなぜかhttp://localhost/にアクセスするとxamppのTOP画面が表示されるという摩訶不思議な現象が。
おかしいな、と思って管理ツール→サービスからApacheを開始させると
「ローカルコンピュータでApache2.2を開始できません。詳細については、システムイベントログを確認してください。これがMicrosoft以外のサービスである場合は、サービスの製造元に問い合わせてサービス固有のエラーコード1を参照してください。」
とエラーが出て起動できず。
で、はまりにハマって色々と調べてみた時の対処法。

まずはコマンドプロンプトでhttpd.exeのあるとこに移動して、直接実行。
cd C:\private\xampp\apache\bin
ここで開始のコマンドを打ってみる。
apache -k start
するとちゃんと詳細なエラー内容が返ってくるはず。
今回はこうでました↓
(OS 10048)通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、ま
たはポートのどれか 1 つのみを使用できます。 : make_sock: could not bind to addr
ess 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs

このエラー内容をググってみるとどうやら80ポートが既に使われている様子。
こういう場合、IISやSkypeが80を使うのでよく彼らが原因であることが多いようですが、今回はどっちも使ってません…
ということで使っている犯人を特定するのが↓のコマンド。
netstat -oan
※WindowsXPでのコマンドです。
参考にしたサイトではこう説明されてました。
「これで、ポートを開いているプロセスの一覧が表示される。(-oはPIDの表示、-aは全ての接続を表示、-nはアドレス・ポートを数値で表示)」
詳細はまたぐぐってください。
で、ずらずらっと一覧が出ると思うので、「Local Address」のところで「〜(ドット区切りの数字の羅列)〜:80」となっているところを探してみる。
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 3608
今回みつけたのはこんな感じでした。
で、このままじゃ誰が使ってるのかわからないので今度はここにのっているPIDからアプリケーションの名前を特定します。
タスクマネージャーを開き、プロセスタブを押下。
その状態で表示→列の選択を押し、PID(プロセスID)にチェックを付けます。
これでタスクマネージャーでPIDも表示されるようになりました。
で、あとはさっきコマンドプロンプトで出ていた80を使用しているPIDに該当するプロセスを見つける。
今回は3608だったのでPIDが3608のイメージ名を見てみると「httpd.exe」となっていました。
…これってApacheじゃん…
起動していないのにすでに起動しているというわけわからない事になっているので調べてみると、どうやらXamppをアンインストールした時の対応がまずかった様子。
Xamppをアンインストールする前に先にApacheやMysqlを個別にアンインストールしないとApacheやMysqlはアンインストールされないんですね。今回の原因は、それをしらないでその時にApacheをアンインストールをせず、再度Xampp(とApache)を入れてしまったのが発端の様子。
その時なんかエラー出るなーと思ってたんですが、http://localhost/にアクセスできるからいっかーとスルーしたのがいけなかった…
多分それで最初に入れたApacheがゾンビ化してしまい、ずーっとこうやって80ポートを占有していたみたいです。
対応策→再度アンインストール後にインストールする
コマンドプロンプトでApacheの実行ファイルのある場所に移動して、そこでコマンド打ってちゃんと消します。
cd C:\private\xampp\apache\bin
apache.exe -k stop
apache.exe -k uninstall
そしてxamppアンインストール。
再度netstat -oanで見てみて、80がいないことを確認。
その後Xamppをインストール。
今度こそApacheとMysqlも一緒にインストールして大丈夫です。
インストールした後にapacheを一度停止し、再度開始してちゃんと開始できるかを確認できたらOK。