PHP 接続失敗: 「接続が拒否されました」
MAMP を使用して phpMyAdmin でホストされている MySQL データベースへの PHP 接続を確立しようとすると、ユーザー「接続に失敗しました: SQLSTATE[HY000] [2002] 接続が拒否されました。」というエラーが発生する場合があります。このエラーは通常、接続文字列内のホスト名またはポート構成が正しくないために発生します。
最初は、ホスト名が「」に設定されていたため、「SQLSTATE[HY000] [2002] No such file or directory」というエラーが発生しました。 localhost」。これは、MAMP インストールのポート 8888 に対応します。この問題を修正するには、ホスト名をサーバーの IP アドレス (例: 「127.0.0.1」) に変更する必要があります。
しかし、ホスト名を変更したにもかかわらず、「接続が拒否されました」エラーが継続しました。根本的な原因は、ポート構成が正しくないことであると判明しました。デフォルトでは、MAMP 上の MySQL は標準ポート 3306 ではなくポート 8889 で待機します。接続文字列のポートを 8889 に調整すると、問題が解決されました。
$conn = new PDO("mysql:host=$servername;port=8889;dbname=AppDatabase", $username, $password);
ホスト名として「localhost」を使用することに注意してください。それでも「そのようなファイルまたはディレクトリはありません」エラーが発生しました。したがって、接続を確実に成功させるために、サーバーの IP アドレスをホスト名として使用することをお勧めします。
以上がMAMP で「接続が拒否されました」というメッセージが表示されて MySQL への PHP 接続が失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。