ThinkPHP アプリケーションを開発していると、ポート番号が占有されているために、ポート番号にアクセスできないという問題が発生することがあります。この記事では、占有されているポート番号を表示および解放する方法、および ThinkPHP アプリケーションでポート番号を正しく設定する方法を紹介します。
1. ポート番号を占有しているプロセスの表示
Windows システムでは、コマンド ライン ツール netstat を使用して、占有されているポート番号とそれに対応するプロセスを表示できます。
8888 ポート番号を表示する例として、コマンド ライン ツールを開き、次のように入力します:
netstat -ano|findstr "8888"
このうち、-a はすべての接続とリスニング ポートを表示することを意味し、-n はすべての接続とリスニング ポートを表示することを意味します。アドレスとポート番号を表すには数字を使用します。 -o は接続を占有しているプロセス ID を表示することを意味し、 |findstr "8888" は "8888" を含む行を検索することを意味します。
プロセス ID 10332 のプロセスは、ポート番号 8888 を占有します。次に、プロセス ID を通じてポート番号を占有しているプロセスを見つける必要があります。
コマンド ライン ツールに次のように入力します:
tasklist|findstr "10332"
このうち、tasklist コマンドはシステム内のプロセス リストを表示するために使用され、 |findstr "10332" は、次のプロセスを含むプロセスを検索するために使用されます。 「10332」。
この情報から、ポート番号 8888 を占有しているプロセスは php.exe であることがわかります。
2. ポート番号を占有しているプロセスを解放します
ポート番号 8888 を占有しているプロセスを発見したので、プロセスを解放する必要があります。
簡単な方法は、プロセスを直接終了することです。コマンド ライン ツールで次のコマンドを入力するだけです。
taskkill /pid 10332 /f
このうち、/pid パラメーターは終了するプロセスのプロセス ID を指定するために使用され、/f パラメーターはプロセスの強制終了を示します。プロセス。
このコマンドの実行後、再度 netstat コマンドを使用して、ポート番号が解放されているかどうかを確認できます。
3. ThinkPHP アプリケーションのポート番号を正しく設定する
ThinkPHP アプリケーションを開発する場合、通常はアプリケーションの実行に PHP 組み込みサーバーが使用されます。このとき、アプリケーションのエントリファイルindex.phpにポート番号を設定する必要があります。
構成ポート番号を 8888 として、index.php ファイルの先頭に次のコードを追加します。
// 指定端口号 $port = 8888; // 启动PHP内置服务器 exec("start php -S 0.0.0.0:$port -t public");
上記のコードは、ポート番号を 8888 として指定し、次のコードを使用します。 PHP exec 関数を使用して PHP 組み込みサーバーを起動します。
なお、実際の開発ではポート番号が占有されることが多いため、ランダムなポート番号を使用することをお勧めします。ランダムなポート番号を使用できるコードは次のとおりです:
// 获取随机端口号 $port = rand(10000, 20000); // 启动PHP内置服务器 exec("start php -S 0.0.0.0:$port -t public");
IV. まとめ
ThinkPHP のポート番号にアクセスできない問題が発生した場合、次の手順で解決できます。 :
この記事が皆さんの問題解決に役立つことを願っています。
以上がthinkphp のポート番号にアクセスできない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。