Xamppでポート競合を防ぐ方法


Xamppでポート競合を防ぐ方法をご紹介します。

作業環境

OS:Windows 10
エディション:HOME
バージョン:2004
Xampp:バージョン7.4.6

※Xamppのインストール方法はこちらで解説しています。
【環境構築】Windows10にXAMMPをインストールする方法

ポートとは

ポートはよく「扉(ドア)」に例えられるます。
IPアドレスが住所「家」であれば、ポートは外に出る・外から入る「扉(ドア)」に該当します。

多くのホームページでインターネットはIPアドレスで通信を行っていると記載されていますが、実際には「IPアドレス+ポート番号」で通信を行っています。

引用元:用語集 「ポート(PORT)とは?」

Xamppでポート競合が起こる原因

1つのプログラムにつきポートは1個しか利用できない仕組みとなっているので、Xamppが他のプログラムと同じポートを使っていると競合が起きて、Xamppが利用できなくなります。

そこでXamppで利用するポートを変更することで、競合を防ぎます。

Xamppで利用するポートを変更する


Xamppのデフォルトでは、Apacheは80番と443番、MySQLは3306番のポートをそれぞれ利用しています。80番はHTTPプロトコル、つまりホームページを閲覧するときに使われるものなので、様々なソフトで利用されていて競合の原因になります。このポート番号を変更します。

①Apacheのポート番号を変更する


ApacheやMySQLなどを起動している場合は全部停止して、「Config」を押します。

「Service and Port Settings」を押します。

この画面が起動するので、「Main Port」の番号を任意の数字に変更します。ここでは「8888」と設定しました。変更したら「Save」のボタンを押して画面を閉じます。

※エラーが起きた場合

私の環境下では、以下のエラーが出てきました。

Error:Cannot create file "C:\xampp\xampp-control.ini"
アクセスが拒否されました。

書き込み権限がないようなので、管理者権限で実行してみます。

「XAMPP Control Panel」で右クリックをして「その他」→「管理者として実行」を押して、管理者権限で実行するとエラーが解消しました。

②Apache(httpd.conf)を変更する


Apacheの右の「Config」→「Apache(httpd.conf)」を選びます。

「httpd.conf」がメモ帳で開くので、「編集」→「検索」を選びます。

「Listen」と検索をし、「Listen 80」とポート番号が書いてあるので、ここも先程と同じ番号に変更をします。ここでは「Listen 8888」としました。変更が終わったら、保存してメモ帳を閉じます。
※管理者権限で実行している場合は、ここまでできたら一度Xamppを終了して、再度、通常通りに起動してください。

③動作確認


「Apache」と「MySQL」をそれぞれ「Start」ボタンを押して起動すると、ポート番号の表示が変わっています。

「Apache」の右の「admin」のボタンを押します。

上のような画面が開いたら、ポート番号の変更は完了です。

参考サイト

用語集 「ポート(PORT)とは?」

XAMPPでインストールしたApacheが起動しないとき

php.iniファイルの確認と修正