ホームページ >バックエンド開発 >PHPチュートリアル >MySQL データベースに接続すると、PHP コードが「SQLSTATE[HY000] [2002] 接続が拒否されました」を返すのはなぜですか?
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 サイトの他の関連記事を参照してください。