ポート番号の確認と使用中かどうかのチェック
アプリケーションを実際に起動する前にアプリケーションが使用するポート番号が既に使われていないかどうかを確認します。特にApacheでデフォルトで使用するポート場号80番を既に他のアプリケーションが使ってしまっていないか確認したい場合に参照されてみて下さい。
※ポート番号とは簡単に言うとWWWサーバなどのサーバ型のアプリケーションがクライアントとの通信のやり取りを行う上で使用する通信路の番号です。アプリケーション毎に使用するポート番号が設定されていますが、他のアプリケーションが同じポート番号を使っていると通信が行えません。
XAMPPでインストールされたアプリケーションがデフォルトで使用するポート番号は次の通りです。
Service ポート番号 ----------------------------- Apache 80, 443 MySQL 3306 FileZilla 21, 14147 Tomacat 8080
これらのポート番号が既に使用されているかどうか確認するには、「(XAMPPをインストールしたディレクトリ)\install\portcheck.bat」を使用します。
コマンドプロンプトを起動し先ほどのディレクトリに移動してから「portcheck.bat」を実行して下さい。すると「Fatal error: Uncaught Error: Call to undefined function ereg_replace() 」というエラーが表示されました。
今回PHP7を使用していますがereg_replace関数はPHP7では削除されており使用できないためです。代わりにpreg_replace関数を使います。バッチファイルと同じディレクトリにある「(XAMPPをインストールしたディレクトリ)\install\portcheck.php」ファイルをテキストエディタで開いて下さい。
13行目に次のような行がありますので、「ereg_replace」を「preg_replace」に変更して下さい。
[修正前]
$port = ereg_replace('-', '', $argv[1]);
[修正後]
$port = preg_replace('/-/', '', $argv[1]);
ファイルを保存したら改めてコマンドプロンプトから「portcheck.bat」を実行して下さい。
チェックが終わると先ほどのディレクトリ内に「portcheck.ini」というファイルが作成されます。
「portcheck.ini」ファイルはテキストファイルですのでテキストエディタなどで開いてみて下さい。次のように各ポート番号の値が全て「FREE」になっていればアプリケーションが使用するポート番号が現在使われておらず問題が無いことを表しています。
[Ports] Port80=FREE Port443=FREE Port3306=FREE Port21=FREE Port14147=FREE Port8080=FREE
一番可能性があるのは他のウェブサーバーが既に起動しており、そのアプリケーションがポート番号80番を使用している場合です。その場合は既にそのポート番号を使っているアプリケーションの設定を変更するか、またはXAMPPでインストールしたアプリケーションのポート番号に関する設定を変更する必要があります。
XAMPPでインストールしたアプリケーションの設定を変更する方法は別のページで解説します。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。