ホームページ >データベース >mysql チュートリアル >PHP MySQL 接続で「接続に失敗しました: SQLSTATE[HY000] [2002] 接続が拒否されました」を修正する方法は?

PHP MySQL 接続で「接続に失敗しました: SQLSTATE[HY000] [2002] 接続が拒否されました」を修正する方法は?

DDD
DDDオリジナル
2024-12-11 09:41:11497ブラウズ

How to Fix

PHP で「接続に失敗しました: SQLSTATE[HY000] [2002] 接続が拒否されました」を解決する

phpMyAdmin でホストされている MySQL データベースへの PHP 接続を確立しようとすると、ユーザーは、「接続に失敗しました: SQLSTATE[HY000] [2002] 接続が拒否されました。」というイライラするエラーに遭遇する可能性があります。このエラーは、PHP スクリプトがデータベース サーバーに接続できないことを示します。

たとえば、次の PHP コードを考えてみましょう:

$servername = "127.0.0.1";
$username = "root";
$password = "root";

try {
    $conn = new PDO("mysql:host=$servername;dbname=AppDatabase", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully";
}
catch(PDOException $e)
{
    echo "Connection failed: " . $e->getMessage();
}

このコードは、PDO を使用して MySQL データベースに接続しようとします。 (PHP データ オブジェクト) オブジェクト。ただし、Postman 経由の接続を使用すると、「接続に失敗しました: SQLSTATE[HY000] [2002] 接続が拒否されました」というエラーが発生します。

最初は、「接続に失敗しました: SQLSTATE[HY000] [2002]」というエラーが発生する可能性があります。 ] そのようなファイル、又はディレクトリはありません。"これは、サーバー名が「localhost」に設定されている場合に発生します。サーバー名を IP アドレスに変更すると、この問題は解決しますが、「接続が拒否されました」エラーが発生します。

この接続拒否の解決策は、使用されているポート番号にあります。 MySQL のデフォルトのポートは 3306 です。ただし、MAMP 経由の接続の場合、ポートは 8889 に設定する必要があります。

次のようにコードを調整すると、接続の問題が解決されます。

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

この変更により、PHP スクリプトはポート 8889 を使用して MySQL データベースに正常に接続できるようになります。

以上がPHP MySQL 接続で「接続に失敗しました: SQLSTATE[HY000] [2002] 接続が拒否されました」を修正する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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