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つの解決方法
- タスクマネージャーを開いて、mysqld.exeを停止する
- 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部分のカラーがグリーンになる。
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部分のカラーがグリーンになる。