XAMPPのコントロールパネルでApacheをStratした際に、エラーメッセージが出た時の対処法

Control Panel Error messageウェブサイト開発

APache: 赤字のエラーメッセージが出たら

使用するPortを他のアプリケーションが既に使用している場合は、下記のような赤字のエラーメッセージが出る。

Apacheのエラーメッセージ例:
ErrorApache shutdown unexpectedly. This may be due to a blocked port…

XAMPPのApacheに他のPortを使用するように設定する

このような場合は、Configボタンを押して、Apacheに他のポートを使うように指示する。
ConfigボタンはStartボタンの右隣2つ目にある(下図参照)。

Port (80)の変更

Configボタンをクリックして出てきたドロップダウンの中から、Apache (httpd.conf)を選ぶ。

出てきたNotepadのドキュメントの中からListen 80とlocalhost: 80の部分を探し、この行の数字部分を8080へ変更する。(既に使われているポート番地80ではなく、ポート番地8080を使うという指示)

Notepadドキュメントの中に変更箇所は2か所! (Listen 80 と localhost: 80 の部分)

Port (443)の変更

Configボタンをクリックして出てきたドロップダウンの中から、Apache (httpd-ssl.conf)を選ぶ。

出てきたNotepadのドキュメントの中からListen 443の部分を探し、この行の数字部分を4430へ変更する。(既に使われているポート番地443ではなく、ポート番地4430を使うという指示)

Notepadドキュメントの中に変更箇所は1か所のみ! (Listen 443 の部分)

これで、次回XAMPPのApacheのStartボタンを押すと、XAMPPのApacheは空き地であるPort (8080)とPort (4430)を使用することができるようになる。Apache部分のカラーがグリーンになる。

MySQL: 赤字のエラーメッセージが出たら

使用するPortを他のアプリケーションが既に使用している場合は、下記のような赤字のエラーメッセージが出る。

MySQLのエラーメッセージ例:
Port 3306 in use by “”C:|Program Files|MySQL|MySQL Server 5.7|bin|mysqld.exe”…

ほとんどの場合、ほかのMySQLサーバーが使用したいPort (3306)を既に使っていることが原因。

2つの解決方法

  1. タスクマネージャーを開いて、mysqld.exeを停止する
  2. XAMPPのMySQLに違うPortを使用するように設定する

1. タスクマネージャーを開いて、mysqld.exeを停止する

これはPort (3306)を既に使用しているMySQLサーバーを追い出す方法。

ctrl+alt+deleteを押して、タスクマネージャーを立ち上げ、mysqld.exeを探して、そこを右クリックしてEnd taskする。(これで Port (3306) が空き地になった。)

次回XAMPPのMySQLのStartボタンを押すと、 Port (3306) が空いていているので、XAMPPのMySQLがPort (3306)を使える。 MySQL部分のカラーがグリーンになる。

ちなみに、私はこの方法だけで、いつもエラーを無事に回避できています。
学校で1学期の時にMySQLを個別でインストールしたので、そのMySQLがデフォルト設定されているPort(3306)を先に使ってしまうからです。
何度MySQLを追い出しても、しばらくするとまた先に Port(3306) を使われているので、エラーが出る度にこの追い出し操作をしています。
ただ単に、個別のMySQLをアンインストールすればいいだけの話かもしれませんが、今後授業で使うことがあるかもしれないので、そのままにしています。

2. XAMPPのMySQLに他のPortを使用するように設定する

もう一つの方法は、Configボタンを押して、XAMPPのMySQLサーバーに他のポートを使うように指示する方法。

Configボタンをクリックして出てきたドロップダウンの中から、my.iniを選ぶ。

出てきたNotepadドキュメントの中でport = 3306の部分を探し、数字部分を3307へ変更する。(既に使われているポート番地3306ではなく、ポート番地3307を使うという指示)

この変更箇所 port = 3306 は Notepadドキュメントの中に2か所あるので、忘れずに2か所とも port = 3307へ変更する。

Notepadドキュメントの中に変更箇所は2か所! (同じPort = 3306の部分が2か箇所あるので注意)

これで、次回XAMPPのMySQLのStartボタンを押すと、XAMPPのMySQLは空き地であるPort (3307)を使用することができるようになる。MySQL部分のカラーがグリーンになる。

Port番号を変更するやり方の場合、PHPのコーディングをする際に、いちいちこの変更したPort番号を明記しなくてはいけなくなるので、ちょっと面倒です。
デフォルトならPort番号を明記せずにコーディングができます。
詳細はコーディングの解説の記事に注意書きとして書くつもりです。

タイトルとURLをコピーしました