ホームページ >データベース >mysql チュートリアル >PHP MySQL 接続が拒否されるのはなぜですか: トラブルシューティング「SQLSTATE[HY000] [2002] 接続が拒否されました」?
「接続に失敗しました: SQLSTATE[HY000] [2002] 接続が拒否されました」エラーのトラブルシューティング
「接続に失敗しました: SQLSTATE[ PHP MySQL データベース接続中に「HY000] [2002] 接続が拒否されました。調査すべき要因がいくつかあります。
指定されたシナリオでは、問題は接続に使用される間違ったポート番号に関連していました。初期構成ではサーバー名として「localhost」が使用され、MAMP ではポート 8888 に解決されました。ただし、データベースはポート 8889 でリッスンしていました。コードを変更してポート 8889 を明示的に指定すると、接続は正常に確立されました。
$conn = new PDO("mysql:host=$servername;port=8889;dbname=AppDatabase", $username, $password);
サーバー名として「localhost」を使用すると、依然として結果が生じる可能性があることに注意することが重要です。 MySQL ソケットがシステム上で適切に構成されていない場合、「そのようなファイルまたはディレクトリはありません」エラーが発生します。このような場合は、ホスト マシンの明示的な IP アドレスを使用することをお勧めします。
したがって、次の変更により、「接続が拒否されました」または「そのようなファイルまたはディレクトリはありません」エラーが発生することなく接続が成功することが保証されます。
$servername = "127.0.0.1"; $port = "8889"; ... $conn = new PDO("mysql:host=$servername;port=$port;dbname=AppDatabase", $username, $password);
以上がPHP MySQL 接続が拒否されるのはなぜですか: トラブルシューティング「SQLSTATE[HY000] [2002] 接続が拒否されました」?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。