ホームページ >バックエンド開発 >PHPチュートリアル >MySQL データベースに接続すると、PHP コードが「SQLSTATE[HY000] [2002] 接続が拒否されました」を返すのはなぜですか?

MySQL データベースに接続すると、PHP コードが「SQLSTATE[HY000] [2002] 接続が拒否されました」を返すのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-05 06:43:111010ブラウズ

Why is my PHP code returning

SQLSTATE[HY000] [2002]

PHP でデータベース接続を確立しようとすると、エラー「SQLSTATE」が発生しました[HY000] [2002] 接続が拒否されました」は、ネットワーク通信の問題により接続の試行が失敗したことを示します。この問題は、次の側面に対処することで解決できます:

間違ったポート構成:

提供されたコードはホスト名を「127.0.0.1」に設定しましたが、ポートを指定していませんでした。明示的に。 MAMP を使用する場合、MySQL がデフォルトの 3306 ではなくポート 8889 で実行されるのが一般的です。これを解決するには、接続コードを変更して正しいポートを含めます:

$conn = new PDO("mysql:host=$servername;port=8889;dbname=AppDatabase", $username, $password);

ファイアウォールまたはネットワークの制限:

ファイアウォール設定またはネットワーク構成がデータベース サーバーへのアクセスをブロックしていないことを確認します。サーバーでの受信接続にポート 8889 が許可されていることを確認します。

正しいホスト名構成:

MAMP でホスト名に「127.0.0.1」を使用しても機能するはずですが、それでも「そのようなファイルまたはディレクトリはありません」エラーが表示される場合は、代わりに「localhost」を使用してみてください。この問題は、特定のサーバー構成に関連している可能性があります。

以上がMySQL データベースに接続すると、PHP コードが「SQLSTATE[HY000] [2002] 接続が拒否されました」を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。