簡単にローカルにPHPの動作環境を作れるXAMPPについて。続きです。
xampp_install / Marco Nunez G.
前回の記事でXAMPP Liteのインストールまで行いました。
ここで普通にApacheとMySQLの起動が出来るのであれば問題ありません。
しかしネット上で情報を集めてみると、Apacheのステータスに【Busy】が表示されて起動しないというケースが多いようです。
もしくは一度【Running】状態になってもすぐにストップしてしまうケースなど。
今回自分もそうなりました。
おおよそ原因の検討がついていたのでそこまで問題ではありませんでしたが、初めてこの現象に出会うと結構対処に困るように思います。
Apacheが起動しない原因の多くは、ポートの問題です。
XAMPP Liteの場合
-
Apacheは「ポート80」を使用
-
MySQLは「ポート3306」を使用
というように設定されています。
たいていApacheが【Busy】と表示されて立ち上がらない場合は、この「ポート80」をどれか別のアプリケーションが使用している事が原因。
あとはそれが何のアプリケーションなのかを調べてどうにか対処すればいいだけです。
目次
ポートを占拠しているアプリケーションを調べる方法
※Windows XP環境の場合
(1)まずコマンドプロンプト画面を呼び出します。
Windowsの
【すべてのプログラム】→【アクセサリー】→【コマンドプロンプト】
(2)コマンドプロンプトでポート80を使用しているアプリケーションを確認
コマンドプロンプトが立ち上がれば「netstat -ano 」と入力してEnterキー。(「netstat」と「-ano」の間に半角の空白をいれる事を忘れずに。なければ動きません。)
ずらっとパラメーター一覧が表示されます。
それぞれのパラメーターの見方は
Proto TCP/UDPの別
Local Address 自アドレス・ポート番号
Foreign Address 相手方アドレス・ポート番号
State 接続の状況
PID そのポートを使用しているアプリケーション
このようになっています。
まず表示されたパラメータの中から、Local Address「0.0.0.0:80」という場所を探します。ここがポート番号80。
かなり最初の方にあるはずです。
発見出来ればStateの項目に注目。
Stateを見て他のアプリケーションに使用されているようならPIDの数字を確認。
あとはそのPIDの番号を元に、タスクマネージャーを見て何のアプリケーションがポート80を使用しているのか確かめます。
ついでに
●PIDからアプリケーションを調べる方法
タスクマネージャにPID番号を表示させ、使用しているアプリケーションを特定します。
タスクバー上で右クリックし、タスクマネージャーを選択
(タスクバーとはWindowsの画面の一番下にあるバーのことです)
プロセスタブを表示
しかしデフォルトでは
-
イメージ名
-
ユーザー名
-
CPU
-
メモリ使用量
以上の4つの項目しか表示されません。
そこで「表示」→「列の選択」
PID(プロセスID)にチェックをいれてOKをクリック
これで項目に「PID」が増えます。
表示されればそのPID番号が何のアプリケーションに割り当てられているのかを、「イメージ名」の項目を見て確認します。
(3)ポート80を確保
ポート80を使用しているアプリケーションが特定できればそれを停止します。
ちなみに、たいていポート80を占拠しているのはSkypeです。
かなりの高確率で。
その場合はSkypeを停止します。もしかするとSkypeの設定でポート80以外を使用するように変更できるのかもしれませんが、自分のPCにはSkypeを導入していないのでそのあたりの詳細不明です。
もちろん占拠しているのがSkype以外のアプリケーションの場合もあります。よくわからないプログラムがポート80を使用していた時などは、いきなり停止させるとどんな不具合が生じるかわかりません。
ですので、必ず自分が何のアプリケーションを停止させようとしているのか理解したうえで、自己責任に基づいて処理を行って下さい。
自分のパソコンの場合、ポート80を占拠していたのはBitNamiでした。
この場合、MySQLのポート番号3036もBitNamiが使用したので、ApacheもMySQLも共に【Busy】となって起動しません。
BitNamiをアンインストールする訳にもいかず(使用するので)、かといってどうすればBitNamiが停止するのかよくわからなかったので、結局XAMPPで使用するApacheとMySQLのポート番号を変更して対処することにしました。
Skypeがポート80を占拠している場合でSkypeを停止させたくない時にも、同じやり方で対処できると思います。
続き→XAMPPでApacheとMySQLの使用ポートを変更する方法